mirror of
https://github.com/Unleash/unleash.git
synced 2025-06-14 01:16:17 +02:00
81 lines
2.5 KiB
TypeScript
81 lines
2.5 KiB
TypeScript
///<reference path="../../global.d.ts" />
|
|
|
|
describe('login', { testIsolation: true }, () => {
|
|
const baseUrl = Cypress.config().baseUrl;
|
|
const randomId = String(Math.random()).split('.')[1];
|
|
const projectName = `unleash-e2e-login-project-${randomId}`;
|
|
|
|
before(() => {
|
|
cy.runBefore();
|
|
Cypress.session.clearAllSavedSessions();
|
|
cy.login_UI();
|
|
cy.createProject_API(projectName);
|
|
cy.logout_UI();
|
|
});
|
|
|
|
after(() => {
|
|
cy.deleteProject_API(projectName);
|
|
});
|
|
|
|
beforeEach(() => {
|
|
cy.login_UI();
|
|
});
|
|
|
|
it('is redirecting to /personal after first login', () => {
|
|
cy.visit('/');
|
|
cy.url().should('eq', `${baseUrl}/personal`);
|
|
cy.visit('/');
|
|
// "/" should again redirect to last "home" page
|
|
cy.url().should('eq', `${baseUrl}/personal`);
|
|
});
|
|
|
|
it('is redirecting to last visited projects', () => {
|
|
cy.visit('/projects');
|
|
cy.visit('/');
|
|
cy.url().should((url) => url.startsWith(`${baseUrl}/projects`));
|
|
cy.contains('a', projectName).click();
|
|
cy.get(`h1 span`).should('not.have.class', 'skeleton');
|
|
cy.visit('/');
|
|
cy.url().should((url) =>
|
|
// last visited project
|
|
url.startsWith(`${baseUrl}/projects/${projectName}`),
|
|
);
|
|
});
|
|
|
|
it('is redirecting to other pages', () => {
|
|
cy.visit('/search');
|
|
cy.visit('/playground');
|
|
cy.visit('/');
|
|
cy.url().should('eq', `${baseUrl}/playground`);
|
|
cy.visit('/admin');
|
|
cy.visit('/applications'); // not one of main pages
|
|
cy.visit('/');
|
|
cy.url().should('eq', `${baseUrl}/admin`);
|
|
});
|
|
|
|
it('clears last visited page on manual logout', () => {
|
|
cy.visit('/search');
|
|
cy.get('[data-testid=HEADER_USER_AVATAR]').click();
|
|
cy.get('button').contains('Log out').click();
|
|
cy.url().should('eq', `${baseUrl}/login`);
|
|
cy.visit('/');
|
|
cy.url().should('eq', `${baseUrl}/login`);
|
|
cy.do_login();
|
|
cy.visit('/');
|
|
cy.url().should('eq', `${baseUrl}/personal`);
|
|
});
|
|
|
|
it('remembers last visited page on next login', () => {
|
|
cy.visit('/insights');
|
|
cy.window().then((win) => {
|
|
win.sessionStorage.clear(); // not localStorage
|
|
win.location.reload();
|
|
});
|
|
cy.visit('/');
|
|
cy.url().should('eq', `${baseUrl}/login`);
|
|
cy.do_login();
|
|
cy.visit('/');
|
|
cy.url().should('eq', `${baseUrl}/insights`);
|
|
});
|
|
});
|