| |
| |
| |
|
|
| export const adminUser = { |
| name: 'Admin User', |
| email: 'admin@example.com', |
| password: 'password' |
| }; |
|
|
| const login = (email: string, password: string) => { |
| return cy.session( |
| email, |
| () => { |
| |
| |
| localStorage.setItem('locale', 'en-US'); |
| |
| cy.visit('/auth'); |
| |
| cy.get('input[autocomplete="email"]').type(email); |
| cy.get('input[type="password"]').type(password); |
| |
| cy.get('button[type="submit"]').click(); |
| |
| cy.get('#chat-search').should('exist'); |
| |
| if (localStorage.getItem('version') === null) { |
| cy.get('button').contains("Okay, Let's Go!").click(); |
| } |
| }, |
| { |
| validate: () => { |
| cy.request({ |
| method: 'GET', |
| url: '/api/v1/auths/', |
| headers: { |
| Authorization: 'Bearer ' + localStorage.getItem('token') |
| } |
| }); |
| } |
| } |
| ); |
| }; |
|
|
| const register = (name: string, email: string, password: string) => { |
| return cy |
| .request({ |
| method: 'POST', |
| url: '/api/v1/auths/signup', |
| body: { |
| name: name, |
| email: email, |
| password: password |
| }, |
| failOnStatusCode: false |
| }) |
| .then((response) => { |
| expect(response.status).to.be.oneOf([200, 400]); |
| }); |
| }; |
|
|
| const registerAdmin = () => { |
| return register(adminUser.name, adminUser.email, adminUser.password); |
| }; |
|
|
| const loginAdmin = () => { |
| return login(adminUser.email, adminUser.password); |
| }; |
|
|
| Cypress.Commands.add('login', (email, password) => login(email, password)); |
| Cypress.Commands.add('register', (name, email, password) => register(name, email, password)); |
| Cypress.Commands.add('registerAdmin', () => registerAdmin()); |
| Cypress.Commands.add('loginAdmin', () => loginAdmin()); |
|
|
| before(() => { |
| cy.registerAdmin(); |
| }); |
|
|