refresh e2e (#307)
This commit is contained in:
@@ -54,6 +54,22 @@ class PageObject {
|
|||||||
await this.page.getByRole("button", { name: "Restart" }).click();
|
await this.page.getByRole("button", { name: "Restart" }).click();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async clickPreviewRefresh() {
|
||||||
|
await this.page.getByTestId("preview-refresh-button").click();
|
||||||
|
}
|
||||||
|
|
||||||
|
async clickPreviewNavigateBack() {
|
||||||
|
await this.page.getByTestId("preview-navigate-back-button").click();
|
||||||
|
}
|
||||||
|
|
||||||
|
async clickPreviewNavigateForward() {
|
||||||
|
await this.page.getByTestId("preview-navigate-forward-button").click();
|
||||||
|
}
|
||||||
|
|
||||||
|
async clickPreviewOpenBrowser() {
|
||||||
|
await this.page.getByTestId("preview-open-browser-button").click();
|
||||||
|
}
|
||||||
|
|
||||||
locateLoadingAppPreview() {
|
locateLoadingAppPreview() {
|
||||||
return this.page.getByText("Loading app preview...");
|
return this.page.getByText("Loading app preview...");
|
||||||
}
|
}
|
||||||
|
|||||||
19
e2e-tests/refresh.spec.ts
Normal file
19
e2e-tests/refresh.spec.ts
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import { test } from "./helpers/test_helper";
|
||||||
|
|
||||||
|
test("refresh app", async ({ po }) => {
|
||||||
|
await po.setUp({ autoApprove: true });
|
||||||
|
await po.sendPrompt("hi");
|
||||||
|
|
||||||
|
// Drop the document.body inside the contentFrame to make
|
||||||
|
// sure refresh works.
|
||||||
|
await po
|
||||||
|
.getPreviewIframeElement()
|
||||||
|
.contentFrame()
|
||||||
|
.locator("body")
|
||||||
|
.evaluate((body) => {
|
||||||
|
body.remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
await po.clickPreviewRefresh();
|
||||||
|
await po.snapshotPreview();
|
||||||
|
});
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
- 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/
|
||||||
@@ -372,6 +372,7 @@ export const PreviewIframe = ({ loading }: { loading: boolean }) => {
|
|||||||
className="p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed dark:text-gray-300"
|
className="p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed dark:text-gray-300"
|
||||||
disabled={!canGoBack || loading || !selectedAppId}
|
disabled={!canGoBack || loading || !selectedAppId}
|
||||||
onClick={handleNavigateBack}
|
onClick={handleNavigateBack}
|
||||||
|
data-testid="preview-navigate-back-button"
|
||||||
>
|
>
|
||||||
<ArrowLeft size={16} />
|
<ArrowLeft size={16} />
|
||||||
</button>
|
</button>
|
||||||
@@ -379,6 +380,7 @@ export const PreviewIframe = ({ loading }: { loading: boolean }) => {
|
|||||||
className="p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed dark:text-gray-300"
|
className="p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed dark:text-gray-300"
|
||||||
disabled={!canGoForward || loading || !selectedAppId}
|
disabled={!canGoForward || loading || !selectedAppId}
|
||||||
onClick={handleNavigateForward}
|
onClick={handleNavigateForward}
|
||||||
|
data-testid="preview-navigate-forward-button"
|
||||||
>
|
>
|
||||||
<ArrowRight size={16} />
|
<ArrowRight size={16} />
|
||||||
</button>
|
</button>
|
||||||
@@ -386,6 +388,7 @@ export const PreviewIframe = ({ loading }: { loading: boolean }) => {
|
|||||||
onClick={handleReload}
|
onClick={handleReload}
|
||||||
className="p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed dark:text-gray-300"
|
className="p-1 rounded hover:bg-gray-200 dark:hover:bg-gray-700 disabled:opacity-50 disabled:cursor-not-allowed dark:text-gray-300"
|
||||||
disabled={loading || !selectedAppId}
|
disabled={loading || !selectedAppId}
|
||||||
|
data-testid="preview-refresh-button"
|
||||||
>
|
>
|
||||||
<RefreshCw size={16} />
|
<RefreshCw size={16} />
|
||||||
</button>
|
</button>
|
||||||
@@ -429,6 +432,7 @@ export const PreviewIframe = ({ loading }: { loading: boolean }) => {
|
|||||||
{/* Action Buttons */}
|
{/* Action Buttons */}
|
||||||
<div className="flex space-x-1">
|
<div className="flex space-x-1">
|
||||||
<button
|
<button
|
||||||
|
data-testid="preview-open-browser-button"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (originalUrl) {
|
if (originalUrl) {
|
||||||
IpcClient.getInstance().openExternalUrl(originalUrl);
|
IpcClient.getInstance().openExternalUrl(originalUrl);
|
||||||
|
|||||||
Reference in New Issue
Block a user