diff --git a/frontend/website/cypress/e2e/session-auth.cy.ts b/frontend/website/cypress/e2e/session-auth.cy.ts index caa7956..cd35dfd 100644 --- a/frontend/website/cypress/e2e/session-auth.cy.ts +++ b/frontend/website/cypress/e2e/session-auth.cy.ts @@ -76,6 +76,18 @@ describe('session authentication', () => { cy.location('pathname').should('equal', '/dashboard') }) + it('redirects a restored session away from the home route', () => { + cy.intercept('GET', '**/api/me', { + statusCode: 200, + body: { user: authenticatedUser }, + }).as('me') + + cy.visit('/') + cy.wait('@me') + + cy.location('pathname').should('equal', '/dashboard') + }) + it('rejects a malformed authenticated-user response', () => { cy.intercept('GET', '**/api/me', { statusCode: 200, diff --git a/frontend/website/src/router/index.ts b/frontend/website/src/router/index.ts index 51e7184..66d053a 100644 --- a/frontend/website/src/router/index.ts +++ b/frontend/website/src/router/index.ts @@ -9,6 +9,9 @@ const router = createRouter({ path: '/', name: 'home', component: () => import('@/views/HomeView.vue'), + meta: { + guestOnly: true, + }, }, { path: '/login',