|
|
|
|
|
export const adminUser = { |
|
name: 'Admin User', |
|
email: '[email protected]', |
|
password: 'password' |
|
}; |
|
|
|
const login = (email: string, password: string) => { |
|
return cy.session( |
|
email, |
|
() => { |
|
|
|
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(); |
|
}); |
|
|