import { expect } from "@wdio/globals"; import LoginPage from "../pageobjects/LoginPage"; import HomePage from "../pageobjects/HomePage"; import { testConfig } from "../helpers/testConfig"; describe("Navigation", () => { it("should redirect unauthenticated users to login", async () => { // App should automatically redirect to login when not authenticated await LoginPage.waitForLoginPage(); expect(await LoginPage.isOnServerStep()).toBe(true); }); it("should prevent direct access to protected routes", async () => { // Try to navigate to a protected route await browser.url("http://localhost:4444/session/fake-session-id/url"); await browser.pause(1000); // Should redirect back to login await LoginPage.waitForLoginPage(5000); expect(await LoginPage.isOnServerStep()).toBe(true); }); // This test requires valid authentication - configure e2e/.env to enable it.skip("should allow navigation after login", async () => { // Login first await LoginPage.fullLoginFlow( testConfig.serverUrl, testConfig.username, testConfig.password ); // Wait for home page await HomePage.waitForHomePageLoad(); // Should be able to navigate expect(await HomePage.hasContent()).toBe(true); }); });