49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
|
// This test assumes no mailer is set up and all users are activated immediately.
|
||
|
|
||
|
import {UserFactory} from '../../factories/user'
|
||
|
|
||
|
context('Registration', () => {
|
||
|
beforeEach(() => {
|
||
|
UserFactory.create(1, {
|
||
|
username: 'test',
|
||
|
})
|
||
|
cy.visit('/', {
|
||
|
onBeforeLoad(win) {
|
||
|
win.localStorage.removeItem('token')
|
||
|
},
|
||
|
})
|
||
|
})
|
||
|
|
||
|
it('Should work without issues', () => {
|
||
|
const fixture = {
|
||
|
username: 'testuser',
|
||
|
password: '123456',
|
||
|
email: 'testuser@example.com',
|
||
|
}
|
||
|
|
||
|
cy.visit('/register')
|
||
|
cy.get('#username').type(fixture.username)
|
||
|
cy.get('#email').type(fixture.email)
|
||
|
cy.get('#password1').type(fixture.password)
|
||
|
cy.get('#password2').type(fixture.password)
|
||
|
cy.get('button#register-submit').click()
|
||
|
cy.url().should('include', '/')
|
||
|
cy.get('h2').should('contain', `Hi ${fixture.username}!`)
|
||
|
})
|
||
|
|
||
|
it('Should fail', () => {
|
||
|
const fixture = {
|
||
|
username: 'test',
|
||
|
password: '123456',
|
||
|
email: 'testuser@example.com',
|
||
|
}
|
||
|
|
||
|
cy.visit('/register')
|
||
|
cy.get('#username').type(fixture.username)
|
||
|
cy.get('#email').type(fixture.email)
|
||
|
cy.get('#password1').type(fixture.password)
|
||
|
cy.get('#password2').type(fixture.password)
|
||
|
cy.get('button#register-submit').click()
|
||
|
cy.get('div.notification.is-danger').contains('A user with this username already exists.')
|
||
|
})
|
||
|
})
|