From a3cf11ac74b2e3e5fba711f1e4f41379964fb508 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 27 Nov 2023 11:28:17 +0000 Subject: [PATCH] Migrate update.spec.ts from Cypress to Playwright (#11937) Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- cypress/e2e/update/update.spec.ts | 55 ---------------------------- playwright/e2e/update/update.spec.ts | 44 ++++++++++++++++++++++ 2 files changed, 44 insertions(+), 55 deletions(-) delete mode 100644 cypress/e2e/update/update.spec.ts create mode 100644 playwright/e2e/update/update.spec.ts diff --git a/cypress/e2e/update/update.spec.ts b/cypress/e2e/update/update.spec.ts deleted file mode 100644 index 99a8fb32a9..0000000000 --- a/cypress/e2e/update/update.spec.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* -Copyright 2022 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/// - -import { HomeserverInstance } from "../../plugins/utils/homeserver"; - -describe("Update", () => { - let homeserver: HomeserverInstance; - - beforeEach(() => { - cy.startHomeserver("default").then((data) => { - homeserver = data; - }); - }); - - afterEach(() => { - cy.stopHomeserver(homeserver); - }); - - it("should navigate to ?updated=$VERSION if realises it is immediately out of date on load", () => { - const NEW_VERSION = "some-new-version"; - - cy.intercept("/version*", { - statusCode: 200, - body: NEW_VERSION, - headers: { - "Content-Type": "test/plain", - }, - }).as("version"); - - cy.initTestUser(homeserver, "Ursa"); - - cy.wait("@version"); - cy.url() - .should("contain", "updated=" + NEW_VERSION) - .then((href) => { - const url = new URL(href); - expect(url.searchParams.get("updated")).to.equal(NEW_VERSION); - }); - }); -}); diff --git a/playwright/e2e/update/update.spec.ts b/playwright/e2e/update/update.spec.ts new file mode 100644 index 0000000000..6af46e83e3 --- /dev/null +++ b/playwright/e2e/update/update.spec.ts @@ -0,0 +1,44 @@ +/* +Copyright 2022 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { test, expect } from "../../element-web-test"; + +test.describe("Update", () => { + const NEW_VERSION = "some-new-version"; + + test.use({ + displayName: "Ursa", + }); + + test.beforeEach(async ({ context }) => { + await context.route("/version*", async (route) => { + await route.fulfill({ + body: NEW_VERSION, + headers: { + "Content-Type": "test/plain", + }, + }); + }); + }); + + test("should navigate to ?updated=$VERSION if realises it is immediately out of date on load", async ({ + page, + user, + }) => { + await expect(page).toHaveURL(/updated=/); + expect(new URL(page.url()).searchParams.get("updated")).toEqual(NEW_VERSION); + }); +});