Add some more base for cypress testing
This commit is contained in:
parent
fc6cf0c0d9
commit
c468a13720
|
|
@ -0,0 +1,8 @@
|
|||
describe('The Logged In Home Page', () => {
|
||||
it('successfully loads', () => {
|
||||
cy.login('test', 'test');
|
||||
cy.visit('/');
|
||||
|
||||
cy.get('.block-title__title').should('contain', 'Inhalte')
|
||||
})
|
||||
})
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
describe('The Login CSRF Token', () => {
|
||||
|
||||
it('403 status without token', () => {
|
||||
cy.loginByCsrf('some-token')
|
||||
.its('status')
|
||||
.should('eq', 403)
|
||||
});
|
||||
|
||||
it('gets token from response body', () => {
|
||||
cy.login('test', 'test')
|
||||
})
|
||||
|
||||
});
|
||||
|
|
@ -3,8 +3,10 @@ describe('The Login Page', () => {
|
|||
const username = 'test';
|
||||
const password = 'test';
|
||||
|
||||
cy.login(username, password);
|
||||
cy.visit('/');
|
||||
|
||||
cy.get('#id_username').type(username);
|
||||
cy.get('#id_password').type(`${password}{enter}`);
|
||||
|
||||
cy.getCookie('sessionid').should('exist');
|
||||
cy.get('.start-page__title').should('contain', 'skillbox')
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
describe('The Room Page', () => {
|
||||
it.only('displays new room entry with author name', () => {
|
||||
cy.viewport('macbook-15');
|
||||
cy.login('rahel.cueni', 'test');
|
||||
|
||||
cy.visit('/room/ein-historisches-festival');
|
||||
|
|
|
|||
|
|
@ -25,9 +25,33 @@
|
|||
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
|
||||
|
||||
Cypress.Commands.add("login", (username, password) => {
|
||||
cy.visit('/');
|
||||
cy.request('/')
|
||||
.its('body')
|
||||
.then(body => {
|
||||
console.log(body);
|
||||
const $html = Cypress.$(body);
|
||||
|
||||
cy.get('#id_username').type(username);
|
||||
cy.get('#id_password').type(`${password}{enter}`);
|
||||
const csrf = $html.find('input[name=csrfmiddlewaretoken]').val();
|
||||
console.log(csrf);
|
||||
cy.loginByCsrf(username, password, csrf)
|
||||
.then(resp => {
|
||||
expect(resp.status).to.eq(200);
|
||||
expect(resp.body).to.include('skillbox');
|
||||
});
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
Cypress.Commands.add('loginByCsrf', (username, password, csrftoken) => {
|
||||
cy.request({
|
||||
method: 'POST',
|
||||
url: '/accounts/login/',
|
||||
failOnStatusCode: false,
|
||||
form: true,
|
||||
body: {
|
||||
username: username,
|
||||
password: password,
|
||||
csrfmiddlewaretoken: csrftoken
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue