mirror of
https://github.com/typemill/typemill.git
synced 2025-10-16 15:16:14 +02:00
70 lines
2.4 KiB
JavaScript
70 lines
2.4 KiB
JavaScript
describe('Typemill Login', function()
|
|
{
|
|
it('redirects if visits dashboard without login', function ()
|
|
{
|
|
cy.visit('/tm/content')
|
|
cy.url().should('include', '/tm/login')
|
|
})
|
|
|
|
it('submits a valid form and logout', function ()
|
|
{
|
|
// visits login page and adds valid input
|
|
cy.visit('/tm/login')
|
|
cy.url().should('include','/tm/login')
|
|
|
|
cy.get('input[name="username"]')
|
|
.type('trendschau')
|
|
.should('have.value', 'trendschau')
|
|
.and('have.attr', 'required')
|
|
|
|
cy.get('input[name="password"]')
|
|
.type('password')
|
|
.should('have.value', 'password')
|
|
.and('have.attr', 'required')
|
|
|
|
// can login
|
|
cy.get('form').submit()
|
|
cy.url().should('include','/tm/content')
|
|
cy.getCookie('typemill-session').should('exist')
|
|
|
|
Cypress.Cookies.preserveOnce('typemill-session')
|
|
})
|
|
|
|
it('redirects if visits login form when logged in', function ()
|
|
{
|
|
cy.visit('/tm/login')
|
|
cy.url().should('include', '/tm/content')
|
|
|
|
Cypress.Cookies.preserveOnce('typemill-session')
|
|
})
|
|
|
|
it('logs out', function ()
|
|
{
|
|
cy.contains('Logout').click()
|
|
cy.url().should('include', '/tm/login')
|
|
})
|
|
|
|
it('captcha after 1 fail', function ()
|
|
{
|
|
cy.visit('/tm/login')
|
|
|
|
// validation fails first
|
|
cy.get('input[name="username"]').clear().type('wrong')
|
|
cy.get('input[name="password"]').clear().type('pass')
|
|
cy.get('form').submit()
|
|
cy.get('#flash-message').should('contain', 'wrong password or username')
|
|
cy.get('input[name="username"]').should('have.value', 'wrong')
|
|
cy.get('input[name="password"]').should('have.value', '')
|
|
cy.get('input[name="captcha"]').should('have.value', '')
|
|
|
|
// captcha fails first
|
|
cy.get('input[name="username"]').clear().type('trendschau')
|
|
cy.get('input[name="password"]').clear().type('password')
|
|
cy.get('input[name="captcha"]').clear().type('wrong')
|
|
cy.get('form').submit()
|
|
cy.get('#flash-message').should('contain', 'Captcha is wrong')
|
|
cy.get('input[name="username"]').should('have.value', 'trendschau')
|
|
cy.get('input[name="password"]').should('have.value', '')
|
|
cy.get('input[name="captcha"]').should('have.value', '')
|
|
})
|
|
}) |