feature: user, project, channel and job offer create test flows and project, channel and job offer edit test flows
This commit is contained in:
62
cypress/integration/edit-project.spec.js
Normal file
62
cypress/integration/edit-project.spec.js
Normal file
@ -0,0 +1,62 @@
|
||||
/// <reference types="Cypress" />
|
||||
/* globals cy, expect */
|
||||
|
||||
context('Edit Project Browser Testing', () => {
|
||||
let projectName = 'Edited Test Project ',
|
||||
customerName = 'Edited Test Customer ',
|
||||
description = 'Edited Test Description ',
|
||||
menuQuery = [
|
||||
'solid-display.project-tab',
|
||||
'solid-display:last-child',
|
||||
'solid-display[order-by="customer.name"]'
|
||||
];
|
||||
before(() => {
|
||||
cy.randomNum().then(num => {
|
||||
projectName += num;
|
||||
customerName += num;
|
||||
description += num;
|
||||
});
|
||||
cy.clearLocalStorage({ domain: null });
|
||||
cy.clearCookies({ domain: null });
|
||||
});
|
||||
it('should visit user login screen', () => cy.userLogin());
|
||||
describe('Project Edition process', () => {
|
||||
it('should login', () => cy.login());
|
||||
it('should visit the project list screen', () => cy.naviagte('/admin/admin-projects'));
|
||||
it('should visit the last project edit screen', () => {
|
||||
cy.get(menuQuery.join(' '))
|
||||
.invoke('attr', 'data-src')
|
||||
.then(url => cy.encodeUrl(url).then(id => {
|
||||
cy.naviagte('/project/@' + id + '/project-information/project-edit');
|
||||
}));
|
||||
});
|
||||
it('should enter new project data', () => {
|
||||
cy.get('#project-edit input[name="customer.name"]').clear().type(customerName);
|
||||
cy.get('#project-edit input[name="customer.name"]').should('have.value', customerName);
|
||||
cy.get('#project-edit input[name="name"]').clear().type(projectName);
|
||||
cy.get('#project-edit input[name="name"]').should('have.value', projectName);
|
||||
cy.get('#project-edit textarea[name="description"]').clear().type(description);
|
||||
cy.get('#project-edit textarea[name="description"]').should('have.value', description);
|
||||
});
|
||||
it('should click button to save the project', () => {
|
||||
cy.get('#project-edit input[value="Enregistrer"]').click();
|
||||
});
|
||||
it('should land on project information screen', () => {
|
||||
cy.get(menuQuery.join(' '))
|
||||
.invoke('attr', 'data-src')
|
||||
.then(url => cy.encodeUrl(url).then(id => {
|
||||
cy.location().should((loc) => {
|
||||
expect(loc.pathname).to.eq('/project/@' + id + '/project-information');
|
||||
});
|
||||
}));
|
||||
// Workaround - component reactivity bug
|
||||
cy.reload();
|
||||
cy.get('.accept-button').click();
|
||||
// End workaround
|
||||
});
|
||||
it('should show edited project data on project information screen', () => {
|
||||
cy.contains('solid-display-value[name="customer.name"]', customerName).should("exist");
|
||||
cy.contains('solid-display-value[name="name"]', projectName).should("exist");
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user