e2e tests for create client path fixed

This commit is contained in:
Carlos 2017-10-29 15:49:44 +01:00
parent 74466aec3f
commit 70afe95459
3 changed files with 197 additions and 173 deletions

View File

@ -110,9 +110,9 @@ Nightmare.action('countSearchResults', function(selector, done) {
});
Nightmare.action('waitForNumberOfElements', function(selector, count, done) {
this.wait((selector, count) => {
return document.querySelectorAll(selector).length === count;
}, selectors.clientsView.searchResult, count)
this.wait((resultSelector, expectedCount) => {
return document.querySelectorAll(resultSelector).length === expectedCount;
}, selector, count)
.then(done);
});

View File

@ -7,12 +7,16 @@ export default {
},
globalItems: {
topBar: 'vn-topbar',
snackbarIsActive: '.mdl-snackbar--active > .mdl-snackbar__text'
snackbarIsActive: '.mdl-snackbar--active > .mdl-snackbar__text',
applicationsMenuButton: '#apps > i',
applicationsMenuVisible: 'body > vn-app > vn-vertical > vn-topbar > header > vn-main-menu > div .is-visible > div',
clientsButton: 'body > vn-app > vn-vertical > vn-topbar > header > vn-main-menu > div > div > ul > li:nth-child(1)'
},
moduleAccessView: {
clientsSectionButton: 'body > vn-app > vn-vertical > vn-vertical > vn-home > vn-vertical > vn-module-container > a:nth-child(1)'
},
clientsView: {
clientsIndex: {
searchClientInput: 'body > vn-app > vn-vertical > vn-vertical > vn-client-index > div > div > vn-card:nth-child(1) > div > vn-horizontal > vn-searchbar > form > vn-horizontal > vn-textfield > div > input',
searchButton: 'body > vn-app > vn-vertical > vn-vertical > vn-client-index > div > div > vn-card:nth-child(1) > div > vn-horizontal > vn-searchbar > form > vn-horizontal > vn-icon-button > button',
searchResult: 'body > vn-app > vn-vertical > vn-vertical > vn-client-index > div > div > vn-card:nth-child(2) > div > vn-item-client',
@ -27,4 +31,3 @@ export default {
createButton: 'body > vn-app > vn-vertical > vn-vertical > vn-client-create > form > div > vn-button-bar > vn-button > button'
}
};

View File

@ -5,7 +5,8 @@ import {catchErrors} from '../../services/utils/jasmineHelpers';
const nightmare = createNightmare();
const moduleAccessViewHashURL = '#!/';
describe('Clients path', () => {
fdescribe('Clients path', () => {
describe('Create', () => {
it('should log in', done => {
nightmare
.login()
@ -21,7 +22,7 @@ describe('Clients path', () => {
it('should access to the clients index by clicking the clients button', done => {
nightmare
.click(selectors.moduleAccessView.clientsSectionButton)
.wait(selectors.clientsView.createClientButton)
.wait(selectors.clientsIndex.createClientButton)
.url()
.then(url => {
expect(url).toBe(config.url + '#!/clients');
@ -32,11 +33,11 @@ describe('Clients path', () => {
it(`should search for the user Carol Danvers to confirm it isn't created yet`, done => {
nightmare
.wait(selectors.clientsView.searchResult)
.type(selectors.clientsView.searchClientInput, 'Carol Danvers')
.click(selectors.clientsView.searchButton)
.waitForNumberOfElements(selectors.clientsView.searchResult, 0)
.countSearchResults(selectors.clientsView.searchResult)
.wait(selectors.clientsIndex.searchResult)
.type(selectors.clientsIndex.searchClientInput, 'Carol Danvers')
.click(selectors.clientsIndex.searchButton)
.waitForNumberOfElements(selectors.clientsIndex.searchResult, 0)
.countSearchResults(selectors.clientsIndex.searchResult)
.then(result => {
expect(result).toBe(0);
done();
@ -46,7 +47,7 @@ describe('Clients path', () => {
it('should access to the create client view by clicking the create-client floating button', done => {
nightmare
.click(selectors.clientsView.createClientButton)
.click(selectors.clientsIndex.createClientButton)
.wait(selectors.createClientView.createButton)
.url()
.then(url => {
@ -157,8 +158,11 @@ describe('Clients path', () => {
.catch(catchErrors(done));
});
// it(`should create a new user with all it's data`, done => {
// the below tests should be enabled when the e2e execution restores fixtures
it(`should create a new user with all it's data`, done => {
// nightmare
// .waitForSnackbarReset()
// .wait(selectors.createClientView.email)
// .clearInput(selectors.createClientView.email)
// .type(selectors.createClientView.name, 'Carol Danvers')
@ -170,9 +174,26 @@ describe('Clients path', () => {
// .wait(selectors.globalItems.snackbarIsActive)
// .getInnerText(selectors.globalItems.snackbarIsActive)
// .then(result => {
// expect(result).toContain(`some validation message`);
// expect(result).toContain(`¡Datos guardados!`);
// done();
// })
// .catch(catchErrors(done));
// });
});
describe('Index', () => {
// it('should click on the Clients button of the top bar menu', done => {
// nightmare
// .waitToClick(selectors.globalItems.applicationsMenuButton)
// .wait(selectors.globalItems.applicationsMenuVisible)
// .waitToClick(selectors.globalItems.clientsButton)
// .wait(selectors.clientsIndex.createClientButton)
// .url()
// .then(url => {
// expect(url).toBe(config.url + '#!/clients');
// done();
// })
// .catch(catchErrors(done));
// });
});
});