Skip to content

Commit

Permalink
Merge pull request #6 from laoneo/patch-1
Browse files Browse the repository at this point in the history
Implement snapshot functionality for logins
  • Loading branch information
HLeithner authored Sep 22, 2023
2 parents 2afdb8c + 8a17c7e commit 4d54111
Showing 1 changed file with 25 additions and 3 deletions.
28 changes: 25 additions & 3 deletions src/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,26 @@ const userCommands = () => {
* @returns Chainable
*/
const doAdministratorLogin = (user, password, useSnapshot = true) => {
user = user ? user : Cypress.env('username')
password = password ? password : Cypress.env('password')

cy.log('**Do administrator login**')
cy.log('User: ' + user)
cy.log('Password: ' + password)

if (useSnapshot) {
return cy.session([user, password, 'back'], () => doAdministratorLogin(user, password, false), { cacheAcrossSpecs: true })
}

cy.visit('administrator/index.php')
cy.get('#mod-login-username').type(user)
cy.get('#mod-login-password').type(password)
cy.get('#btn-login-submit').click()
cy.get('h1.page-title').should('contain', 'Home Dashboard')

cy.log('--Do administrator login--')

Cypress.session.clearAllSavedSessions()
}

Cypress.Commands.add('doAdministratorLogin', doAdministratorLogin)
Expand All @@ -42,6 +51,8 @@ const userCommands = () => {
cy.get('#mod-login-username').should('exist')

cy.log('--Do administrator logout--')

Cypress.session.clearAllSavedSessions()
}

Cypress.Commands.add('doAdministratorLogout', doAdministratorLogout)
Expand All @@ -54,20 +65,30 @@ const userCommands = () => {
* @method doFrontendLogin
* @param {string} user
* @param {string} password
* @param {boolean} useSnapshot
* @returns Chainable
*/
const doFrontendLogin = (user, password) => {
const doFrontendLogin = (user, password, useSnapshot = true) => {
user = user ? user : Cypress.env('username')
password = password ? password : Cypress.env('password')

cy.log('**Do frontend login**')
cy.log('User: ' + user)
cy.log('Password: ' + password)

if (useSnapshot) {
return cy.session([user, password, 'front'], () => doFrontendLogin(user, password, false), { cacheAcrossSpecs: true })
}

cy.visit('index.php?option=com_users&view=login')
cy.get('#username').type(user)
cy.get('#password').type(password)
cy.get('.com-users-login__form button[type=submit]').click()
cy.get('.mod-login-logout button[type=submit]').should('exist').should('contain', 'Log out')

cy.log('--Do frontend login--')

Cypress.session.clearAllSavedSessions()
}

Cypress.Commands.add('doFrontendLogin', doFrontendLogin)
Expand All @@ -87,11 +108,13 @@ const userCommands = () => {
cy.get('.com-users-logout__form button[type=submit]').should('contain', 'Log out').click()

cy.log('--Do frontend logout--')

Cypress.session.clearAllSavedSessions()
}

Cypress.Commands.add('doFrontendLogout', doFrontendLogout)


/**
* Create a user
*
Expand Down Expand Up @@ -138,4 +161,3 @@ const userCommands = () => {
module.exports = {
userCommands
}

0 comments on commit 4d54111

Please sign in to comment.