diff --git a/package.json b/package.json index 838c9b65..7a9c0312 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "impro", - "version": "0.20.97", + "version": "0.20.98", "type": "module", "scripts": { "start": "rm -rf \"${BUILD_DIR:-build}\" && NODE_ENV=development eleventy --serve", diff --git a/src/js/views/settings.view.js b/src/js/views/settings.view.js index f367af7b..73ca8555 100644 --- a/src/js/views/settings.view.js +++ b/src/js/views/settings.view.js @@ -351,7 +351,7 @@ export default async function settingsView({ await pushNotificationService.disable(); } await auth.logout(); - window.location.reload(); + window.location.href = "/login"; }} > Sign out diff --git a/tests/e2e/specs/views/settings.view.test.js b/tests/e2e/specs/views/settings.view.test.js index fff8ccc3..19135aff 100644 --- a/tests/e2e/specs/views/settings.view.test.js +++ b/tests/e2e/specs/views/settings.view.test.js @@ -92,6 +92,26 @@ test.describe("Settings view", () => { ); }); + test("Signing out goes to the login page without a returnTo", async ({ + page, + }) => { + const mockServer = new MockServer(); + await mockServer.setup(page); + + await loginWithAccounts(page, [ + { did: userProfile.did, handle: userProfile.handle }, + ]); + await page.goto("/settings"); + + const view = page.locator("#settings-view"); + await view.locator('[data-testid="settings-sign-out"]').click({ + timeout: 10000, + }); + await page.locator('[data-testid="modal-confirm-button"]').click(); + + await expect(page).toHaveURL(/\/login$/, { timeout: 10000 }); + }); + test("should display version info", async ({ page }) => { const mockServer = new MockServer(); await mockServer.setup(page);