/// /* globals cy, expect */ context('Retire Project Browser Testing', () => { let menuQuery = [ 'solid-display.project-tab', 'solid-display:last-child', 'solid-display[order-by="customer.name"]' ], menuCountQuery = [ 'solid-display.project-tab', 'solid-display', 'solid-display[order-by="customer.name"]' ]; before(() => { cy.clearLocalStorageSnapshot(); cy.clearLocalStorage({ domain: null }); cy.clearCookies({ domain: null }); }); beforeEach(() => cy.restoreLocalStorage()); afterEach(() => cy.saveLocalStorage()); it('should visit user login screend', () => cy.userLogin()); it('should login', () => cy.login()); describe('Project Retirement process', () => { let projectsLength; it('should visit the projects list screen', () => cy.naviagte('/admin/admin-projects')); it('should visit the last project edit screen', () => { cy.get(menuQuery.join(' ')) .invoke('attr', 'data-src') .then(url => cy.encodeUrl(url).then(id => { cy.naviagte('/project/@' + id + '/project-information/project-edit'); })); }); it('should count the number of joined projects', () => { cy.get(menuCountQuery.join(' ')).its('length').then(length => projectsLength = length); }); it('should click button to retire the project', () => { cy.get('solid-multiple[name="members"] solid-delete[data-label="Retirer"] button').click(); }); it('should stay on project edit screen', () => { cy.get(menuQuery.join(' ')) .invoke('attr', 'data-src') .then(url => cy.encodeUrl(url).then(id => { cy.location().should((loc) => { expect(loc.pathname).to.eq('/project/@' + id + '/project-information/project-edit'); }); })); }); it('should check if project was retired', () => { cy.get(menuCountQuery.join(' ')).its('length').should(length => { expect(length).to.eq(projectsLength - 1); }); }); }); });