#2024 e2e travel.thermograph + refactors
gitea/salix/2024-e2e-travel-thermograph This commit looks good Details

This commit is contained in:
Carlos Jimenez Ruiz 2020-02-12 07:21:53 +01:00
parent cbc5ea7a00
commit 14cee74ae2
68 changed files with 83 additions and 39 deletions

BIN
e2e/dms/ecc/3.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -21,6 +21,7 @@ let actions = {
} catch (error) { } catch (error) {
throw new Error(`failed to reach URL containing: ${expectedHash}`); throw new Error(`failed to reach URL containing: ${expectedHash}`);
} }
await this.waitForContentLoaded();
return true; return true;
}, },
@ -167,7 +168,7 @@ let actions = {
waitToGetProperty: async function(selector, property) { waitToGetProperty: async function(selector, property) {
let builtSelector = selector; let builtSelector = selector;
if (property != 'innerText') if (selector.includes('vn-input-file') || property != 'innerText')
builtSelector = await this.selectorFormater(selector); builtSelector = await this.selectorFormater(selector);
try { try {
@ -311,6 +312,9 @@ let actions = {
if (selector.includes('vn-textfield')) if (selector.includes('vn-textfield'))
return builtSelector = `${selector} input`; return builtSelector = `${selector} input`;
if (selector.includes('vn-input-file'))
return builtSelector = `${selector} section`;
return builtSelector; return builtSelector;
}, },
@ -365,14 +369,15 @@ let actions = {
await this.write('vn-searchbar', searchValue); await this.write('vn-searchbar', searchValue);
await this.waitToClick('vn-searchbar vn-icon[icon="search"]'); await this.waitToClick('vn-searchbar vn-icon[icon="search"]');
await this.waitForNumberOfElements('.search-result', 1); await this.waitForNumberOfElements('.search-result', 1);
await this.waitFor(1000); await this.waitForContentLoaded();
await this.evaluate(() => { await this.evaluate(() => {
return document.querySelector('.search-result').click(); return document.querySelector('.search-result').click();
}); });
await this.waitForContentLoaded();
}, },
accessToSection: async function(sectionRoute) { accessToSection: async function(sectionRoute) {
await this.waitForSelector(`vn-left-menu`, {visible: true}); await this.waitForSelector('vn-left-menu');
let nested = await this.evaluate(sectionRoute => { let nested = await this.evaluate(sectionRoute => {
return document.querySelector(`vn-left-menu li li > a[ui-sref="${sectionRoute}"]`) != null; return document.querySelector(`vn-left-menu li li > a[ui-sref="${sectionRoute}"]`) != null;
}, sectionRoute); }, sectionRoute);
@ -394,6 +399,7 @@ let actions = {
autocompleteSearch: async function(selector, searchValue) { autocompleteSearch: async function(selector, searchValue) {
let builtSelector = await this.selectorFormater(selector); let builtSelector = await this.selectorFormater(selector);
await this.waitForContentLoaded();
await this.waitToClick(selector); await this.waitToClick(selector);
await this.waitForSelector(selector => { await this.waitForSelector(selector => {
document document
@ -424,10 +430,11 @@ let actions = {
}, {}, builtSelector, searchValue); }, {}, builtSelector, searchValue);
await this.waitForMutation(`.vn-drop-down`, 'childList'); await this.waitForMutation(`.vn-drop-down`, 'childList');
await this.waitForContentLoaded();
}, },
reloadSection: async function(sectionRoute) { reloadSection: async function(sectionRoute) {
await this.waitFor(1000); await this.waitForContentLoaded();
await Promise.all([ await Promise.all([
this.waitForNavigation({waitUntil: 'networkidle0'}), this.waitForNavigation({waitUntil: 'networkidle0'}),
this.click('vn-icon[icon="desktop_windows"]', {}), this.click('vn-icon[icon="desktop_windows"]', {}),
@ -437,6 +444,7 @@ let actions = {
this.waitForNavigation({waitUntil: 'networkidle0'}), this.waitForNavigation({waitUntil: 'networkidle0'}),
this.click(`vn-left-menu li > a[ui-sref="${sectionRoute}"]`, {}), this.click(`vn-left-menu li > a[ui-sref="${sectionRoute}"]`, {}),
]); ]);
await this.waitForContentLoaded();
}, },
forceReloadSection: async function(sectionRoute) { forceReloadSection: async function(sectionRoute) {

View File

@ -748,5 +748,12 @@ export default {
taxTwo: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-two > vn-table > div > vn-tbody > vn-tr:nth-child(2)', taxTwo: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-two > vn-table > div > vn-tbody > vn-tr:nth-child(2)',
ticketOne: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-auto > vn-table > div > vn-tbody > vn-tr:nth-child(1)', ticketOne: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-auto > vn-table > div > vn-tbody > vn-tr:nth-child(1)',
ticketTwo: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-auto > vn-table > div > vn-tbody > vn-tr:nth-child(2)' ticketTwo: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-auto > vn-table > div > vn-tbody > vn-tr:nth-child(2)'
},
travelThermograph: {
add: 'vn-travel-thermograph-index vn-float-button[icon="add"]',
thermographID: 'vn-travel-thermograph-create vn-autocomplete[ng-model="$ctrl.dms.thermographId"]',
uploadIcon: 'vn-travel-thermograph-create vn-icon[icon="cloud_upload"]',
createdThermograph: 'vn-travel-thermograph-index vn-tbody > vn-tr',
upload: 'vn-travel-thermograph-create button[type=submit]'
} }
}; };

View File

@ -53,7 +53,6 @@ describe('Client create path', async() => {
await page.write(selectors.createClientView.name, 'Carol Danvers'); await page.write(selectors.createClientView.name, 'Carol Danvers');
await page.write(selectors.createClientView.socialName, 'AVG tax'); await page.write(selectors.createClientView.socialName, 'AVG tax');
await page.write(selectors.createClientView.street, 'Many places'); await page.write(selectors.createClientView.street, 'Many places');
await page.waitForContentLoaded();
await page.autocompleteSearch(selectors.createClientView.country, 'España'); await page.autocompleteSearch(selectors.createClientView.country, 'España');
await page.autocompleteSearch(selectors.createClientView.province, 'Province one'); await page.autocompleteSearch(selectors.createClientView.province, 'Province one');
await page.write(selectors.createClientView.city, 'Valencia'); await page.write(selectors.createClientView.city, 'Valencia');
@ -113,7 +112,6 @@ describe('Client create path', async() => {
}); });
it(`should search for the user Carol Danvers to confirm it exists`, async() => { it(`should search for the user Carol Danvers to confirm it exists`, async() => {
await page.waitForContentLoaded();
await page.accessToSearchResult('Carol Danvers'); await page.accessToSearchResult('Carol Danvers');
let url = await page.expectURL('#!/client/114/summary'); let url = await page.expectURL('#!/client/114/summary');

View File

@ -70,14 +70,14 @@ describe('Client Edit basicData path', () => {
}); });
describe('as salesAssistant', () => { describe('as salesAssistant', () => {
beforeAll(async() => { it('should navigate to a client basic data', async() => {
await page.loginAndModule('salesASsistant', 'client'); await page.loginAndModule('salesASsistant', 'client');
await page.accessToSearchResult('Ptonomy Wallace'); await page.accessToSearchResult('Ptonomy Wallace');
await page.accessToSection('client.card.basicData'); await page.accessToSection('client.card.basicData');
}); }, 30000);
it('should be able to change the salesPerson', async() => { it('should be able to change the salesPerson', async() => {
await page.wait(selectors.clientBasicData.name); await page.waitForSelector(selectors.clientBasicData.name);
const result = await page.evaluate(selector => { const result = await page.evaluate(selector => {
return document.querySelector(selector).disabled; return document.querySelector(selector).disabled;
}, `${selectors.clientBasicData.salesPerson} input`); }, `${selectors.clientBasicData.salesPerson} input`);

View File

@ -83,7 +83,7 @@ describe('Client Edit fiscalData path', () => {
const result = await page.waitForLastSnackbar(); const result = await page.waitForLastSnackbar();
expect(result).toEqual('Invalid Tax number'); expect(result).toEqual('Invalid Tax number');
}, 15000); });
it(`should edit the fiscal this time with a valid fiscal id`, async() => { it(`should edit the fiscal this time with a valid fiscal id`, async() => {
await page.clearInput(selectors.clientFiscalData.fiscalId); await page.clearInput(selectors.clientFiscalData.fiscalId);

View File

@ -24,7 +24,6 @@ describe('Client Add credit path', () => {
}); });
it(`should edit the credit`, async() => { it(`should edit the credit`, async() => {
await page.waitForContentLoaded();
await page.clearInput(selectors.clientCredit.credit); await page.clearInput(selectors.clientCredit.credit);
await page.write(selectors.clientCredit.credit, '999'); await page.write(selectors.clientCredit.credit, '999');
await page.waitToClick(selectors.clientCredit.saveButton); await page.waitToClick(selectors.clientCredit.saveButton);
@ -34,7 +33,6 @@ describe('Client Add credit path', () => {
}); });
it('should confirm the credit was updated', async() => { it('should confirm the credit was updated', async() => {
await page.waitForContentLoaded();
const result = await page.waitToGetProperty(selectors.clientCredit.firstCreditText, 'innerText'); const result = await page.waitToGetProperty(selectors.clientCredit.firstCreditText, 'innerText');
expect(result).toContain(999); expect(result).toContain(999);

View File

@ -17,7 +17,6 @@ describe('Client balance path', () => {
it('should now edit the local user config data', async() => { it('should now edit the local user config data', async() => {
await page.waitToClick(selectors.globalItems.userMenuButton); await page.waitToClick(selectors.globalItems.userMenuButton);
await page.waitForContentLoaded();
await page.autocompleteSearch(selectors.globalItems.userLocalCompany, 'CCs'); await page.autocompleteSearch(selectors.globalItems.userLocalCompany, 'CCs');
let result = await page.waitForLastSnackbar(); let result = await page.waitForLastSnackbar();
@ -118,7 +117,6 @@ describe('Client balance path', () => {
}); });
it('should now search for the user Petter Parker', async() => { it('should now search for the user Petter Parker', async() => {
await page.waitForContentLoaded();
await page.write(selectors.clientsIndex.topbarSearch, 'Petter Parker'); await page.write(selectors.clientsIndex.topbarSearch, 'Petter Parker');
await page.waitToClick(selectors.clientsIndex.searchButton); await page.waitToClick(selectors.clientsIndex.searchButton);
await page.waitForNumberOfElements(selectors.clientsIndex.searchResult, 1); await page.waitForNumberOfElements(selectors.clientsIndex.searchResult, 1);

View File

@ -21,7 +21,7 @@ describe('User config', () => {
it('should now open the user config form to check the settings', async() => { it('should now open the user config form to check the settings', async() => {
await page.waitToClick(selectors.globalItems.userMenuButton); await page.waitToClick(selectors.globalItems.userMenuButton);
await page.waitFor(1000); await page.waitForContentLoaded();
let expectedLocalWarehouse = await page let expectedLocalWarehouse = await page
.expectPropertyValue(selectors.globalItems.userLocalWarehouse, 'value', ''); .expectPropertyValue(selectors.globalItems.userLocalWarehouse, 'value', '');

View File

@ -41,7 +41,6 @@ describe('Item Edit basic data path', () => {
it(`should confirm the item name was edited`, async() => { it(`should confirm the item name was edited`, async() => {
await page.reloadSection('item.card.basicData'); await page.reloadSection('item.card.basicData');
await page.waitForContentLoaded();
const result = await page.waitToGetProperty(selectors.itemBasicData.name, 'value'); const result = await page.waitToGetProperty(selectors.itemBasicData.name, 'value');
expect(result).toEqual('Rose of Purity'); expect(result).toEqual('Rose of Purity');

View File

@ -40,7 +40,6 @@ describe('Item Create/Clone path', () => {
}); });
it('should now access to the create item view by clicking the create floating button', async() => { it('should now access to the create item view by clicking the create floating button', async() => {
await page.waitForContentLoaded();
await page.waitToClick(selectors.itemsIndex.createItemButton); await page.waitToClick(selectors.itemsIndex.createItemButton);
let url = await page.expectURL('#!/item/create'); let url = await page.expectURL('#!/item/create');

View File

@ -81,7 +81,6 @@ describe('Item regularize path', () => {
}); });
it('should clear the user local settings now', async() => { it('should clear the user local settings now', async() => {
await page.waitForTransitionEnd('vn-searchbar');
await page.waitToClick(selectors.globalItems.userMenuButton); await page.waitToClick(selectors.globalItems.userMenuButton);
await page.clearInput(selectors.globalItems.userConfigFirstAutocomplete); await page.clearInput(selectors.globalItems.userConfigFirstAutocomplete);
const result = await page.waitForLastSnackbar(); const result = await page.waitForLastSnackbar();

View File

@ -25,7 +25,7 @@ describe('Ticket Create notes path', () => {
const result = await page.waitForLastSnackbar(); const result = await page.waitForLastSnackbar();
expect(result).toEqual('Data saved!'); expect(result).toEqual('Data saved!');
}, 15000); });
it('should confirm the note is the expected one', async() => { it('should confirm the note is the expected one', async() => {
await page.reloadSection('ticket.card.observation'); await page.reloadSection('ticket.card.observation');

View File

@ -26,7 +26,6 @@ describe('Ticket descriptor path', () => {
it('should go back to the ticket index then search and access a ticket summary', async() => { it('should go back to the ticket index then search and access a ticket summary', async() => {
await page.accessToSection('ticket.index'); await page.accessToSection('ticket.index');
await page.accessToSearchResult('11'); await page.accessToSearchResult('11');
await page.waitForContentLoaded();
}); });
it('should add the ticket to thursday turn using the descriptor more menu', async() => { it('should add the ticket to thursday turn using the descriptor more menu', async() => {
@ -64,7 +63,6 @@ describe('Ticket descriptor path', () => {
}); });
it('should now search for the ticket 11', async() => { it('should now search for the ticket 11', async() => {
await page.waitForContentLoaded();
await page.write(selectors.ticketsIndex.topbarSearch, '11'); await page.write(selectors.ticketsIndex.topbarSearch, '11');
await page.waitToClick(selectors.ticketsIndex.searchButton); await page.waitToClick(selectors.ticketsIndex.searchButton);
await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1); await page.waitForNumberOfElements(selectors.ticketsIndex.searchResult, 1);
@ -81,7 +79,6 @@ describe('Ticket descriptor path', () => {
}); });
it('should add the ticket to saturday turn using the descriptor more menu', async() => { it('should add the ticket to saturday turn using the descriptor more menu', async() => {
await page.waitForContentLoaded();
await page.waitToClick(selectors.ticketDescriptor.moreMenu); await page.waitToClick(selectors.ticketDescriptor.moreMenu);
await page.waitToClick(selectors.ticketDescriptor.moreMenuAddToTurn); await page.waitToClick(selectors.ticketDescriptor.moreMenuAddToTurn);
await page.waitToClick(selectors.ticketDescriptor.saturdayButton); await page.waitToClick(selectors.ticketDescriptor.saturdayButton);

View File

@ -34,7 +34,6 @@ describe('Ticket descriptor path', () => {
}); });
it(`should update the shipped hour using the descriptor menu`, async() => { it(`should update the shipped hour using the descriptor menu`, async() => {
await page.waitForContentLoaded();
await page.waitToClick(selectors.ticketDescriptor.moreMenu); await page.waitToClick(selectors.ticketDescriptor.moreMenu);
await page.waitToClick(selectors.ticketDescriptor.moreMenuChangeShippedHour); await page.waitToClick(selectors.ticketDescriptor.moreMenuChangeShippedHour);
await page.pickTime(selectors.ticketDescriptor.changeShippedHour, '08:15'); await page.pickTime(selectors.ticketDescriptor.changeShippedHour, '08:15');
@ -130,7 +129,6 @@ describe('Ticket descriptor path', () => {
}); });
it('should delete the stowaway', async() => { it('should delete the stowaway', async() => {
await page.waitForContentLoaded();
await page.waitToClick(selectors.ticketDescriptor.moreMenu); await page.waitToClick(selectors.ticketDescriptor.moreMenu);
await page.waitToClick(selectors.ticketDescriptor.moreMenuDeleteStowawayButton); await page.waitToClick(selectors.ticketDescriptor.moreMenuDeleteStowawayButton);
await page.waitToClick(selectors.ticketDescriptor.acceptDeleteStowawayButton); await page.waitToClick(selectors.ticketDescriptor.acceptDeleteStowawayButton);

View File

@ -26,7 +26,7 @@ describe('Ticket services path', () => {
const result = await page.isDisabled(selectors.ticketService.firstAddServiceTypeButton); const result = await page.isDisabled(selectors.ticketService.firstAddServiceTypeButton);
expect(result).toBeTruthy(); expect(result).toBeTruthy();
}, 15000); });
it('should receive an error if you attempt to save a service without access rights', async() => { it('should receive an error if you attempt to save a service without access rights', async() => {
await page.clearInput(selectors.ticketService.firstPrice); await page.clearInput(selectors.ticketService.firstPrice);
@ -50,7 +50,6 @@ describe('Ticket services path', () => {
}); });
it('should click on the add button to prepare the form to create a new service', async() => { it('should click on the add button to prepare the form to create a new service', async() => {
await page.waitForContentLoaded();
await page.waitToClick(selectors.ticketService.addServiceButton); await page.waitToClick(selectors.ticketService.addServiceButton);
const result = await page const result = await page
.isVisible(selectors.ticketService.firstServiceType); .isVisible(selectors.ticketService.firstServiceType);

View File

@ -17,7 +17,6 @@ describe('Ticket create from client path', () => {
}); });
it('should click the create simple ticket on the descriptor menu', async() => { it('should click the create simple ticket on the descriptor menu', async() => {
await page.waitForContentLoaded();
await page.waitToClick(selectors.clientDescriptor.moreMenu); await page.waitToClick(selectors.clientDescriptor.moreMenu);
await page.waitToClick(selectors.clientDescriptor.simpleTicketButton); await page.waitToClick(selectors.clientDescriptor.simpleTicketButton);
let url = await page.expectURL('clientFk=102'); let url = await page.expectURL('clientFk=102');

View File

@ -29,7 +29,7 @@ describe('Claim development', () => {
const result = await page.waitForLastSnackbar(); const result = await page.waitForLastSnackbar();
expect(result).toEqual('Data saved!'); expect(result).toEqual('Data saved!');
}, 15000); });
it(`should redirect to the next section of claims as the role is salesAssistant`, async() => { it(`should redirect to the next section of claims as the role is salesAssistant`, async() => {
let url = await page.expectURL('/action'); let url = await page.expectURL('/action');

View File

@ -24,7 +24,6 @@ describe('claim Descriptor path', () => {
}); });
it(`should not be able to see the delete claim button of the descriptor more menu`, async() => { it(`should not be able to see the delete claim button of the descriptor more menu`, async() => {
await page.waitForContentLoaded();
await page.waitToClick(selectors.claimDescriptor.moreMenu); await page.waitToClick(selectors.claimDescriptor.moreMenu);
await page.waitForSelector(selectors.claimDescriptor.moreMenuDeleteClaim, {hidden: true}); await page.waitForSelector(selectors.claimDescriptor.moreMenuDeleteClaim, {hidden: true});
}); });

View File

@ -27,7 +27,7 @@ describe('Order edit basic data path', () => {
const result = await page.waitForLastSnackbar(); const result = await page.waitForLastSnackbar();
expect(result).toEqual(`You can't make changes on the basic data of an confirmed order or with rows`); expect(result).toEqual(`You can't make changes on the basic data of an confirmed order or with rows`);
}, 15000); });
}); });
describe('when order with rows', () => { describe('when order with rows', () => {
@ -39,7 +39,6 @@ describe('Order edit basic data path', () => {
await page.waitForContentLoaded(); await page.waitForContentLoaded();
await page.accessToSearchResult(orderId); await page.accessToSearchResult(orderId);
await page.accessToSection('order.card.basicData'); await page.accessToSection('order.card.basicData');
await page.waitForContentLoaded();
await page.waitForSelector(selectors.orderBasicData.observation, {visible: true}); await page.waitForSelector(selectors.orderBasicData.observation, {visible: true});
let url = await page.expectURL(`#!/order/${orderId}/basic-data`); let url = await page.expectURL(`#!/order/${orderId}/basic-data`);
@ -47,7 +46,6 @@ describe('Order edit basic data path', () => {
}); });
it('should not be able to change anything', async() => { it('should not be able to change anything', async() => {
await page.waitForContentLoaded();
await page.write(selectors.orderBasicData.observation, 'observation'); await page.write(selectors.orderBasicData.observation, 'observation');
await page.waitToClick(selectors.orderBasicData.saveButton); await page.waitToClick(selectors.orderBasicData.saveButton);
const result = await page.waitForLastSnackbar(); const result = await page.waitForLastSnackbar();

View File

@ -35,9 +35,7 @@ describe('Order catalog', () => {
}); });
it('should add the realm and type filters and obtain results', async() => { it('should add the realm and type filters and obtain results', async() => {
await page.waitForContentLoaded();
await page.waitToClick(selectors.orderCatalog.plantRealmButton); await page.waitToClick(selectors.orderCatalog.plantRealmButton);
await page.waitForContentLoaded();
await page.autocompleteSearch(selectors.orderCatalog.type, 'Anthurium'); await page.autocompleteSearch(selectors.orderCatalog.type, 'Anthurium');
await page.waitForNumberOfElements('section.product', 4); await page.waitForNumberOfElements('section.product', 4);
const result = await page.countElement('section.product'); const result = await page.countElement('section.product');

View File

@ -31,7 +31,7 @@ describe('Route basic Data path', () => {
const result = await page.waitForLastSnackbar(); const result = await page.waitForLastSnackbar();
expect(result).toEqual('Data saved!'); expect(result).toEqual('Data saved!');
}, 15000); });
it('should confirm the worker was edited', async() => { it('should confirm the worker was edited', async() => {
await page.reloadSection('route.card.basicData'); await page.reloadSection('route.card.basicData');

View File

@ -23,7 +23,6 @@ describe('InvoiceOut summary path', () => {
}); });
it('should contain the company from which the invoice is emited', async() => { it('should contain the company from which the invoice is emited', async() => {
await page.waitForContentLoaded();
const result = await page.waitToGetProperty(selectors.invoiceOutSummary.company, 'innerText'); const result = await page.waitToGetProperty(selectors.invoiceOutSummary.company, 'innerText');
expect(result).toEqual('Company VNL'); expect(result).toEqual('Company VNL');

View File

@ -37,7 +37,6 @@ describe('InvoiceOut descriptor path', () => {
}); });
it('should search for the target invoiceOut', async() => { it('should search for the target invoiceOut', async() => {
await page.waitForContentLoaded();
await page.write(selectors.invoiceOutIndex.topbarSearch, 'T2222222'); await page.write(selectors.invoiceOutIndex.topbarSearch, 'T2222222');
await page.waitToClick(selectors.invoiceOutIndex.searchButton); await page.waitToClick(selectors.invoiceOutIndex.searchButton);
await page.waitForNumberOfElements(selectors.invoiceOutIndex.searchResult, 1); await page.waitForNumberOfElements(selectors.invoiceOutIndex.searchResult, 1);
@ -108,7 +107,6 @@ describe('InvoiceOut descriptor path', () => {
}); });
it(`should search and access to the invoiceOut summary`, async() => { it(`should search and access to the invoiceOut summary`, async() => {
await page.waitForContentLoaded();
await page.accessToSearchResult('T1111111'); await page.accessToSearchResult('T1111111');
let url = await page.expectURL('/summary'); let url = await page.expectURL('/summary');

View File

@ -0,0 +1,52 @@
import selectors from '../../helpers/selectors.js';
import getBrowser from '../../helpers/puppeteer';
describe('Travel thermograph path', () => {
let browser;
let page;
beforeAll(async() => {
browser = await getBrowser();
page = browser.page;
await page.loginAndModule('buyer', 'travel');
await page.accessToSearchResult('3');
await page.accessToSection('travel.card.thermograph.index');
});
afterAll(async() => {
await browser.close();
});
it('should reach the thermograph section', async() => {
const result = await page.expectURL('/thermograph/index');
expect(result).toBe(true);
});
it('should click the add thermograph floating button', async() => {
await page.waitToClick(selectors.travelThermograph.add);
const result = await page.expectURL('/thermograph/create');
expect(result).toBe(true);
});
it('should select the thermograph and then the file to upload', async() => {
let currentDir = process.cwd();
let filePath = `${currentDir}/e2e/dms/ecc/3.jpeg`;
await page.autocompleteSearch(selectors.travelThermograph.thermographID, '138350-0');
const [fileChooser] = await Promise.all([
page.waitForFileChooser(),
page.waitToClick(selectors.travelThermograph.uploadIcon)
]);
await fileChooser.accept([filePath]);
await page.waitToClick(selectors.travelThermograph.upload);
});
it('should reload the section and check everything was saved', async() => {
let createdThermograph = await page.waitToGetProperty(selectors.travelThermograph.createdThermograph, 'innerText');
expect(createdThermograph).toContain('138350-0');
});
});

View File

@ -174,12 +174,13 @@ function e2eSingleRun() {
`${__dirname}/e2e/paths/07*/*[sS]pec.js`, `${__dirname}/e2e/paths/07*/*[sS]pec.js`,
`${__dirname}/e2e/paths/08*/*[sS]pec.js`, `${__dirname}/e2e/paths/08*/*[sS]pec.js`,
`${__dirname}/e2e/paths/09*/*[sS]pec.js`, `${__dirname}/e2e/paths/09*/*[sS]pec.js`,
`${__dirname}/e2e/paths/10*/*[sS]pec.js`,
`${__dirname}/e2e/paths/**/*[sS]pec.js` `${__dirname}/e2e/paths/**/*[sS]pec.js`
]; ];
return gulp.src(specFiles).pipe(jasmine({ return gulp.src(specFiles).pipe(jasmine({
errorOnFail: false, errorOnFail: false,
timeout: 10000, timeout: 30000,
reporter: [ reporter: [
new SpecReporter({ new SpecReporter({
spec: { spec: {