From 3321594f5ed26133ac4345beaf6bc56db6876bf8 Mon Sep 17 00:00:00 2001 From: renatodellosso Date: Tue, 1 Apr 2025 18:03:49 -0400 Subject: [PATCH 1/3] Add switch users test --- tests/e2e/misc.spec.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/e2e/misc.spec.ts b/tests/e2e/misc.spec.ts index 2dbe3fae..3099d1ac 100644 --- a/tests/e2e/misc.spec.ts +++ b/tests/e2e/misc.spec.ts @@ -20,3 +20,22 @@ test("Sign up function signs up", async ({ page, context }) => { expect(foundUser).toEqual(user as any); }); + +test("Sin in function switches users", async ({ page }) => { + const { user: user1, sessionToken: sessionToken1 } = + await PlaywrightUtils.signUp(page); + + let currentUser = await PlaywrightUtils.getUser(page); + expect(currentUser._id).toEqual(user1._id); + + const { user: user2, sessionToken: sessionToken2 } = + await PlaywrightUtils.signUp(page); + + currentUser = await PlaywrightUtils.getUser(page); + expect(currentUser._id).toEqual(user2._id); + + await PlaywrightUtils.signIn(page, sessionToken1); + + currentUser = await PlaywrightUtils.getUser(page); + expect(currentUser._id).toEqual(user1._id); +}); From b73d11d4efe4ffdbc39879691114e4cfd5c2e349 Mon Sep 17 00:00:00 2001 From: renatodellosso Date: Tue, 1 Apr 2025 18:08:23 -0400 Subject: [PATCH 2/3] Add more tests --- tests/e2e/misc.spec.ts | 9 +++++---- tests/e2e/profile.spec.ts | 13 +++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/tests/e2e/misc.spec.ts b/tests/e2e/misc.spec.ts index 3099d1ac..e370789d 100644 --- a/tests/e2e/misc.spec.ts +++ b/tests/e2e/misc.spec.ts @@ -24,18 +24,19 @@ test("Sign up function signs up", async ({ page, context }) => { test("Sin in function switches users", async ({ page }) => { const { user: user1, sessionToken: sessionToken1 } = await PlaywrightUtils.signUp(page); - let currentUser = await PlaywrightUtils.getUser(page); expect(currentUser._id).toEqual(user1._id); const { user: user2, sessionToken: sessionToken2 } = await PlaywrightUtils.signUp(page); - currentUser = await PlaywrightUtils.getUser(page); expect(currentUser._id).toEqual(user2._id); - - await PlaywrightUtils.signIn(page, sessionToken1); + await PlaywrightUtils.signIn(page, sessionToken1); currentUser = await PlaywrightUtils.getUser(page); expect(currentUser._id).toEqual(user1._id); + + await PlaywrightUtils.signIn(page, sessionToken2); + currentUser = await PlaywrightUtils.getUser(page); + expect(currentUser._id).toEqual(user2._id); }); diff --git a/tests/e2e/profile.spec.ts b/tests/e2e/profile.spec.ts index 9c89506c..a5404fea 100644 --- a/tests/e2e/profile.spec.ts +++ b/tests/e2e/profile.spec.ts @@ -41,3 +41,16 @@ test.describe("Edit user name", () => { await expect(page.getByText("New Name")).toBeVisible(); }); }); + +test("Sign out button signs out", async ({ page }) => { + const { user } = await PlaywrightUtils.signUp(page); + + await page.goto("/profile"); + + const signOutButton = page.getByRole("button", { name: /sign out/i }).first(); + await signOutButton.click(); + + await expect( + page.getByRole("heading", { name: /sign in/i }).first(), + ).toBeVisible(); +}); From 52f9d186c3ac986d0df836dce18486b9b33753bf Mon Sep 17 00:00:00 2001 From: renatodellosso Date: Tue, 1 Apr 2025 18:15:28 -0400 Subject: [PATCH 3/3] Move tests into pages folder --- tests/e2e/{ => pages}/index.spec.ts | 2 +- tests/e2e/{ => pages}/profile.spec.ts | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename tests/e2e/{ => pages}/index.spec.ts (99%) rename tests/e2e/{ => pages}/profile.spec.ts (100%) diff --git a/tests/e2e/index.spec.ts b/tests/e2e/pages/index.spec.ts similarity index 99% rename from tests/e2e/index.spec.ts rename to tests/e2e/pages/index.spec.ts index c6c0cecb..abdd90bd 100644 --- a/tests/e2e/index.spec.ts +++ b/tests/e2e/pages/index.spec.ts @@ -50,4 +50,4 @@ test("Has link to Decatur Robotics website", async ({ page }) => { await expect( page.locator("a[href='https://www.decaturrobotics.org/our-team']"), ).toBeVisible(); -}); +}); \ No newline at end of file diff --git a/tests/e2e/profile.spec.ts b/tests/e2e/pages/profile.spec.ts similarity index 100% rename from tests/e2e/profile.spec.ts rename to tests/e2e/pages/profile.spec.ts