diff --git a/src/tests/fixtures/page_refresh.html b/src/tests/fixtures/page_refresh.html index ba90f64fa..0dad87edb 100644 --- a/src/tests/fixtures/page_refresh.html +++ b/src/tests/fixtures/page_refresh.html @@ -70,7 +70,7 @@ -

Page to be refreshed

+

Page to be refreshed

Reload diff --git a/src/tests/functional/page_refresh_tests.js b/src/tests/functional/page_refresh_tests.js index c3451ceb6..06a041787 100644 --- a/src/tests/functional/page_refresh_tests.js +++ b/src/tests/functional/page_refresh_tests.js @@ -19,6 +19,22 @@ test("renders a page refresh with morphing", async ({ page }) => { await nextEventNamed(page, "turbo:render", { renderMethod: "morph" }) }) +test("async page refresh with turbo-stream", async ({ page }) => { + await page.goto("/src/tests/fixtures/page_refresh.html") + + await expect(page.locator("#title")).toHaveText("Page to be refreshed") + + await page.evaluate(() => document.querySelector("#title").innerText = "Updated") + await expect(page.locator("#title")).toHaveText("Updated") + + await page.evaluate(() => { + document.body.insertAdjacentHTML("beforeend", ``) + }) + + await expect(page.locator("#title")).not.toHaveText("Updated") + await expect(page.locator("#title")).toHaveText("Page to be refreshed") +}) + test("dispatches a turbo:before-morph-element and turbo:morph-element event for each morphed element", async ({ page }) => { await page.goto("/src/tests/fixtures/page_refresh.html") await page.fill("#form-text", "Morph me")