58 lines
1.7 KiB
JavaScript
58 lines
1.7 KiB
JavaScript
import { loginWithFixtures, setupApiIntercepts } from '../support/intercept';
|
|
|
|
describe('Navigation and Routing', () => {
|
|
it('redirects / to /files when logged in', () => {
|
|
loginWithFixtures();
|
|
cy.visit('/');
|
|
cy.url().should('include', '/files');
|
|
});
|
|
|
|
it('shows 404 page for unknown routes', () => {
|
|
loginWithFixtures();
|
|
cy.visit('/nonexistent-page');
|
|
cy.contains('404').should('exist');
|
|
});
|
|
|
|
it('navbar shows correct view name', () => {
|
|
loginWithFixtures();
|
|
cy.visit('/files');
|
|
cy.wait('@getFiles');
|
|
cy.get('#nav_bar').should('exist');
|
|
cy.get('#nav_bar h2').should('contain', 'FILES');
|
|
});
|
|
|
|
it('navbar shows back arrow on non-files pages', () => {
|
|
loginWithFixtures();
|
|
cy.visit('/discover/log/1/map');
|
|
// Back arrow should be visible on discover pages
|
|
cy.get('#backPage').should('exist');
|
|
});
|
|
|
|
it('navbar tabs are clickable on discover page', () => {
|
|
loginWithFixtures();
|
|
cy.visit('/discover/log/1/map');
|
|
// Discover navbar should show MAP, CONFORMANCE, PERFORMANCE tabs
|
|
cy.contains('.nav-item', 'MAP').should('exist');
|
|
cy.contains('.nav-item', 'CONFORMANCE').should('exist');
|
|
cy.contains('.nav-item', 'PERFORMANCE').should('exist');
|
|
|
|
// Click CONFORMANCE tab
|
|
cy.contains('.nav-item', 'CONFORMANCE').click();
|
|
cy.url().should('include', '/conformance');
|
|
|
|
// Click PERFORMANCE tab
|
|
cy.contains('.nav-item', 'PERFORMANCE').click();
|
|
cy.url().should('include', '/performance');
|
|
|
|
// Click MAP tab to go back
|
|
cy.contains('.nav-item', 'MAP').click();
|
|
cy.url().should('include', '/map');
|
|
});
|
|
|
|
it('login page is accessible at /login', () => {
|
|
setupApiIntercepts();
|
|
cy.visit('/login');
|
|
cy.get('h2').should('contain', 'LOGIN');
|
|
});
|
|
});
|