/// describe('Login', () => { beforeEach(() => { cy.visit('/#/login'); cy.get('#switchLanguage').click(); cy.get('.q-menu > :nth-child(1) > .q-item').click(); }); it('should fail to log in using wrong user', () => { cy.get('input[aria-label="Username"]').type('incorrectUser'); cy.get('input[aria-label="Password"]').type('nightmare'); cy.get('button[type="submit"]').click(); cy.get('.q-notification__message').should( 'have.text', 'Invalid username or password', ); }); it('should fail to log in using wrong password', () => { cy.get('input[aria-label="Username"]').type('employee'); cy.get('input[aria-label="Password"]').type('wrongPassword'); cy.get('.q-field__append > .q-icon'); cy.get('button[type="submit"]').click(); cy.get('.q-notification__message').should( 'have.text', 'Invalid username or password', ); }); it('should log in', () => { cy.get('input[aria-label="Username"]').type('employee'); cy.get('input[aria-label="Password"]').type('nightmare'); cy.get('button[type="submit"]').click(); cy.get('.q-notification__message').should( 'have.text', 'You have successfully logged in', ); cy.url().should('contain', '/dashboard'); }); it('should log out', () => { cy.get('input[aria-label="Username"]').type('employee'); cy.get('input[aria-label="Password"]').type('nightmare'); cy.get('button[type="submit"]').click(); cy.get('.q-notification__message').should( 'have.text', 'You have successfully logged in', ); cy.url().should('contain', '/dashboard'); cy.get('#user').click(); cy.get('#logout').click(); cy.window().its('localStorage').invoke('getItem', 'token').should('not.exist'); cy.url().should('contain', '/login'); }); it(`should be redirected to dashboard since the employee is not enabled to see ldap`, () => { cy.visit('/#/account/ldap', { failOnStatusCode: false }); cy.url().should('contain', '/#/login?redirect=/account/ldap'); cy.get('input[aria-label="Username"]').type('employee'); cy.get('input[aria-label="Password"]').type('nightmare'); cy.get('button[type="submit"]').click(); cy.url().should('contain', '/dashboard'); }); });