/// /// import { generateNewUser } from '../../utils/generateMockData'; describe('User login', () => { const testUser = generateNewUser(); const loginUrl = '/user-login'; before(() => { cy.apiRegisterUser(testUser); }); beforeEach(() => { cy.visit(loginUrl); }); it('should visit register user form', () => { cy.dataCy('register-now-button').click(); cy.url().should('include', '/account/user-register'); }); it('should require email and password', () => { cy.inputRequired('email', 'password'); cy.inputRequired('password', 'email'); }); it('should validate email', () => { cy.dataCy('email').type(testUser.firstName); cy.dataCy('password').click(); cy.contains('must be a valid email'); }); it('should not allow login with wrong password', () => { const { email, password } = testUser; cy.fillUserLogin({ email, password: password + '0' }); cy.dataCy('login-button').click(); cy.url().should('include', loginUrl); cy.notification('Could not log in with supplied credentials.'); }); it('should not allow login with wrong email', () => { const { email, password } = testUser; cy.fillUserLogin({ password, email: 'wrong' + email }); cy.dataCy('login-button').click(); cy.url().should('include', loginUrl); cy.notification('Could not log in with supplied credentials.'); }); it('should login user', () => { const { email, password } = testUser; cy.fillUserLogin({ email, password }); cy.dataCy('login-button').click(); cy.contains('Thank you for registering as a user on the marketplace'); }); it('should redirect to default page after modal action', () => { const { email, password } = testUser; cy.fillUserLogin({ email, password }); cy.dataCy('login-button').click(); cy.contains('Thank you for registering as a user on the marketplace'); cy.get('button').contains('Not now').click(); cy.url().should('include', '/devices/production'); cy.contains(`${testUser.firstName} ${testUser.lastName}`); }); it('should redirect to Register Org page after modal action', () => { const { email, password } = testUser; cy.fillUserLogin({ email, password }); cy.dataCy('login-button').click(); cy.contains('Thank you for registering as a user on the marketplace'); cy.get('button').contains('Register organization').click(); cy.url().should('include', '/organization/organization-register'); }); });