From 07f9746316e7f494baeb324acf7247e91b4a9f5e Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Wed, 6 May 2026 23:25:26 +0300 Subject: [PATCH] add cypress guest-routes spec --- .../cypress/e2e/guest_routes.cy.ts | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 frontend/blog_portal/cypress/e2e/guest_routes.cy.ts diff --git a/frontend/blog_portal/cypress/e2e/guest_routes.cy.ts b/frontend/blog_portal/cypress/e2e/guest_routes.cy.ts new file mode 100644 index 0000000..2f06222 --- /dev/null +++ b/frontend/blog_portal/cypress/e2e/guest_routes.cy.ts @@ -0,0 +1,41 @@ +describe("guest route guards", function () { + beforeEach(function () { + cy.resetDb(); + cy.clearMail(); + }); + + it("redirects anonymous visitors away from /users/:displayName/posts/new", function () { + cy.visit("/users/alice/posts/new"); + cy.location("pathname").should("eq", "/login"); + }); + + it("redirects authenticated visitors away from /login", function () { + cy.seedConfirmedUser({ + email: "alice@example.com", + displayName: "alice", + password: "longenoughpassword", + }); + cy.loginViaApi({ + email: "alice@example.com", + password: "longenoughpassword", + }); + + cy.visit("/login"); + cy.location("pathname").should("eq", "/"); + }); + + it("redirects authenticated visitors away from /signup", function () { + cy.seedConfirmedUser({ + email: "alice@example.com", + displayName: "alice", + password: "longenoughpassword", + }); + cy.loginViaApi({ + email: "alice@example.com", + password: "longenoughpassword", + }); + + cy.visit("/signup"); + cy.location("pathname").should("eq", "/"); + }); +});