fix login tests w/ sessions

This commit is contained in:
Nancy Butler 2021-10-07 08:34:42 -07:00
parent e38f9ed8e2
commit 51a85fb20b
2 changed files with 30 additions and 22 deletions

View File

@ -1,24 +1,26 @@
// describe('Local authentication', () => { describe('Local authentication', () => {
// it('Log in with valid creds', () => { it('Log in with valid creds', () => {
// cy.visit('/auth/login'); cy.visit('/auth/login');
// cy.intercept('POST', '/v3-public/localProviders/local*').as('loginReq'); cy.intercept('POST', '/v3-public/localProviders/local*').as('loginReq');
// cy.login(Cypress.env('username'), Cypress.env('password')); cy.login(Cypress.env('username'), Cypress.env('password'), false);
// cy.wait('@loginReq').then((login) => { cy.wait('@loginReq').then((login) => {
// expect(login.response?.statusCode).to.equal(200); expect(login.response?.statusCode).to.equal(200);
// cy.url().should('not.equal', `${ Cypress.config().baseUrl }/auth/login`); cy.url().should('not.equal', `${ Cypress.config().baseUrl }/auth/login`);
// }); });
// }); });
// it('Cannot login with invalid creds', () => { it('Cannot login with invalid creds', () => {
// cy.intercept('POST', '/v3-public/localProviders/local*').as('loginReq'); cy.visit('/auth/login');
// cy.login(Cypress.env('username'), `${ Cypress.env('password') }abc`); cy.intercept('POST', '/v3-public/localProviders/local*').as('loginReq');
// cy.wait('@loginReq').then((login) => { cy.login(Cypress.env('username'), `${ Cypress.env('password') }abc`, false);
// expect(login.response?.statusCode).to.not.equal(200);
// cy.url().should('equal', `${ Cypress.config().baseUrl }/auth/login`); cy.wait('@loginReq').then((login) => {
// }); expect(login.response?.statusCode).to.not.equal(200);
// }); cy.url().should('equal', `${ Cypress.config().baseUrl }/auth/login`);
// }); });
});
});

View File

@ -1,5 +1,5 @@
Cypress.Commands.add('login', (username = Cypress.env('username'), password = Cypress.env('password')) => { Cypress.Commands.add('login', (username = Cypress.env('username'), password = Cypress.env('password'), cacheSession = true) => {
cy.session([username, password], () => { const login = () => {
cy.intercept('POST', '/v3-public/localProviders/local*').as('loginReq'); cy.intercept('POST', '/v3-public/localProviders/local*').as('loginReq');
cy.visit('/auth/login'); cy.visit('/auth/login');
@ -13,7 +13,13 @@ Cypress.Commands.add('login', (username = Cypress.env('username'), password = Cy
cy.get('button').click(); cy.get('button').click();
cy.wait('@loginReq'); cy.wait('@loginReq');
}); };
if (cacheSession) {
cy.session([username, password], login);
} else {
login();
}
}); });
Cypress.Commands.add('byLabel', (label) => { Cypress.Commands.add('byLabel', (label) => {