2018-12-12 03:27:26 +01:00

137 lines
3.3 KiB
JavaScript

import { Given, When, Then } from "cypress-cucumber-preprocessor/steps";
const baseUrl = 'http://localhost:3000'
const username = 'Peter Lustig'
const login = (email, password) => {
cy.visit(`${baseUrl}/login`)
cy.get('input[name=email]').trigger('focus').type(email)
cy.get('input[name=password]').trigger('focus').type(password)
cy.get('button[name=submit]').as('submitButton').click()
cy.location('pathname').should('eq', '/') // we're in!
}
const logout = () => {
cy.visit(`${baseUrl}/logout`)
cy.location('pathname').should('contain', '/login') // we're out
}
const checkLoggedIn = () => {
}
Given('I am logged in', () => {
login('admin@example.org', 1234)
})
Given('my account has the following details:', (table) => {
// as long as we rely on seed data, this is only documentation
})
When('I log out', logout)
When(`I visit the {string} page`, (route) => {
cy.visit(`${baseUrl}/${route}`)
})
When('I fill in my email and password combination and click submit', () => {
login('admin@example.org', 1234)
})
When('I refresh the page', () => {
cy.reload()
})
When('I log out through the menu in the top right corner', () => {
cy.get('.avatar-menu').click()
cy.get('.avatar-menu-popover').find('a').contains('Logout').click()
})
Then('I can click on my profile picture in the top right corner', () => {
cy.get('.avatar-menu').click()
})
Then('I can see my name {string} in the dropdown menu', () => {
cy.get('.avatar-menu-popover').should('contain', username)
})
Then('I see the login screen again', () => {
cy.location('pathname').should('contain', '/login')
cy.contains('Wenn Du ein Konto bei Human Connection hast, melde Dich bitte hier an.')
})
Then('I am still logged in', () => {
cy.get('.avatar-menu').click()
cy.get('.avatar-menu-popover').contains(username)
})
// cy.visit('http://localhost:3000/')
// .get('.layout-blank')
// .should('be.visible')
//
// cy.location('pathname')
// .should('contain', '/login')
//
// cy.get('input[name=email]')
// .as('inputEmail')
// .should('be.empty')
// .and('have.attr', 'placeholder', 'Deine E-Mail')
// .trigger('focus')
// .type('user@example.org')
//
// cy.get('input[name=password]')
// .as('inputPassword')
// .should('be.empty')
// // .and('have.attr', 'placeholder', 'Dein Passwort')
// .trigger('focus')
// .type('1234')
//
// cy.get('button[name=submit]')
// .as('submitButton')
// .should('be.visible')
// .and('not.be.disabled')
// .click()
//
// cy.get('@submitButton')
// .should('be.disabled')
// // .next('.snackbar')
//
// cy.get('.layout-default')
//
// cy.location('pathname')
// .should('eq', '/')
// }
//
// const logout = function () {
// cy.visit('http://localhost:3000/logout')
//
// cy.location('pathname')
// .should('contain', '/login')
//
// cy.get('.layout-blank')
// .should('be.visible')
// }
//
// context('Authentication', () => {
// it('Login Testuser', loginTestUser)
//
// it('Login & Logout', function () {
// // login
// loginTestUser()
//
// // logout
// logout()
// })
//
// it('Still logged in after page-reload', function () {
// // login
// loginTestUser()
//
// cy.reload()
// .get('.layout-default')
//
// // logout
// // logout()
// })
// })