Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
bit-pm
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
燕伟桐
bit-pm
Commits
0a8e40c7
Unverified
提交
0a8e40c7
authored
6月 03, 2025
作者:
Will Chen
提交者:
GitHub
6月 03, 2025
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Rebuild e2e (#310)
上级
3499faba
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
78 行增加
和
5 行删除
+78
-5
test_helper.ts
e2e-tests/helpers/test_helper.ts
+37
-5
rebuild.spec.ts
e2e-tests/rebuild.spec.ts
+24
-0
rebuild.spec.ts_rebuild-app-1.aria.yml
e2e-tests/snapshots/rebuild.spec.ts_rebuild-app-1.aria.yml
+8
-0
rebuild.spec.ts_rebuild-app-2.aria.yml
e2e-tests/snapshots/rebuild.spec.ts_rebuild-app-2.aria.yml
+8
-0
PreviewPanel.tsx
src/components/preview_panel/PreviewPanel.tsx
+1
-0
没有找到文件。
e2e-tests/helpers/test_helper.ts
浏览文件 @
0a8e40c7
...
...
@@ -62,6 +62,15 @@ class PageObject {
await
this
.
page
.
getByRole
(
"button"
,
{
name
:
"Restart"
}).
click
();
}
async
clickRebuild
()
{
await
this
.
clickPreviewMoreOptions
();
await
this
.
page
.
getByText
(
"Rebuild"
).
click
();
}
async
clickPreviewMoreOptions
()
{
await
this
.
page
.
getByTestId
(
"preview-more-options-button"
).
click
();
}
async
clickPreviewRefresh
()
{
await
this
.
page
.
getByTestId
(
"preview-refresh-button"
).
click
();
}
...
...
@@ -218,6 +227,25 @@ class PageObject {
await
this
.
page
.
getByRole
(
"link"
,
{
name
:
"Settings"
}).
click
();
}
getTitleBarAppNameButton
()
{
return
this
.
page
.
getByTestId
(
"title-bar-app-name-button"
);
}
async
getCurrentAppName
()
{
return
(
await
this
.
getTitleBarAppNameButton
().
textContent
())?.
replace
(
"App: "
,
""
,
);
}
async
getCurrentAppPath
()
{
const
currentAppName
=
await
this
.
getCurrentAppName
();
if
(
!
currentAppName
)
{
throw
new
Error
(
"No current app name found"
);
}
return
path
.
join
(
"/tmp"
,
"dyad-apps-test"
,
currentAppName
);
}
////////////////////////////////
// Settings related
////////////////////////////////
...
...
@@ -344,11 +372,15 @@ export const test = base.extend<{
// After the test we can check whether the test passed or failed.
if
(
testInfo
.
status
!==
testInfo
.
expectedStatus
)
{
const
page
=
await
electronApp
.
firstWindow
();
const
screenshot
=
await
page
.
screenshot
();
await
testInfo
.
attach
(
"screenshot"
,
{
body
:
screenshot
,
contentType
:
"image/png"
,
});
try
{
const
screenshot
=
await
page
.
screenshot
({
timeout
:
5
_000
});
await
testInfo
.
attach
(
"screenshot"
,
{
body
:
screenshot
,
contentType
:
"image/png"
,
});
}
catch
(
error
)
{
console
.
error
(
"Error taking screenshot on failure"
,
error
);
}
}
},
{
auto
:
true
},
...
...
e2e-tests/rebuild.spec.ts
0 → 100644
浏览文件 @
0a8e40c7
import
{
test
}
from
"./helpers/test_helper"
;
import
{
expect
}
from
"@playwright/test"
;
import
fs
from
"fs"
;
import
path
from
"path"
;
test
(
"rebuild app"
,
async
({
po
})
=>
{
await
po
.
setUp
({
autoApprove
:
true
});
await
po
.
sendPrompt
(
"hi"
);
await
po
.
snapshotPreview
();
const
currentAppPath
=
await
po
.
getCurrentAppPath
();
const
testPath
=
path
.
join
(
currentAppPath
,
"node_modules"
,
"test.txt"
);
fs
.
writeFileSync
(
testPath
,
"test"
);
await
po
.
clickRebuild
();
await
expect
(
po
.
locateLoadingAppPreview
()).
toBeVisible
();
await
expect
(
po
.
locateLoadingAppPreview
()).
not
.
toBeVisible
({
timeout
:
15
_000
,
});
// Check that the file is removed with the rebuild
expect
(
fs
.
existsSync
(
testPath
)).
toBe
(
false
);
await
po
.
snapshotPreview
();
});
e2e-tests/snapshots/rebuild.spec.ts_rebuild-app-1.aria.yml
0 → 100644
浏览文件 @
0a8e40c7
-
region "Notifications (F8)"
:
-
list
-
region "Notifications alt+T"
-
heading "Welcome to Your Blank App" [level=1]
-
paragraph
:
Start building your amazing project here!
-
link "Made with Dyad"
:
-
/url
:
https://www.dyad.sh/
\ No newline at end of file
e2e-tests/snapshots/rebuild.spec.ts_rebuild-app-2.aria.yml
0 → 100644
浏览文件 @
0a8e40c7
-
region "Notifications (F8)"
:
-
list
-
region "Notifications alt+T"
-
heading "Welcome to Your Blank App" [level=1]
-
paragraph
:
Start building your amazing project here!
-
link "Made with Dyad"
:
-
/url
:
https://www.dyad.sh/
\ No newline at end of file
src/components/preview_panel/PreviewPanel.tsx
浏览文件 @
0a8e40c7
...
...
@@ -101,6 +101,7 @@ const PreviewHeader = ({
<
DropdownMenu
>
<
DropdownMenuTrigger
asChild
>
<
button
data
-
testid=
"preview-more-options-button"
className=
"flex items-center justify-center p-1.5 rounded-md text-sm hover:bg-[var(--background-darkest)] transition-colors"
title=
"More options"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论