117 lines
4.4 KiB
JavaScript
117 lines
4.4 KiB
JavaScript
import selectors from '../../helpers/selectors.js';
|
|
import getBrowser from '../../helpers/puppeteer';
|
|
|
|
// #1528 e2e claim/detail
|
|
xdescribe('Claim detail', () => {
|
|
let browser;
|
|
let page;
|
|
|
|
beforeAll(async() => {
|
|
browser = await getBrowser();
|
|
page = browser.page;
|
|
await page.loginAndModule('salesPerson', 'claim');
|
|
await page.accessToSearchResult('1');
|
|
await page.accessToSection('claim.card.detail');
|
|
});
|
|
|
|
afterAll(async() => {
|
|
await browser.close();
|
|
});
|
|
|
|
it('should add the first claimable item from ticket to the claim', async() => {
|
|
await page.waitToClick(selectors.claimDetail.addItemButton);
|
|
await page.waitToClick(selectors.claimDetail.firstClaimableSaleFromTicket);
|
|
const result = await page.waitForLastSnackbar();
|
|
|
|
expect(result).toEqual('Data saved!');
|
|
});
|
|
|
|
it('should confirm the claim contains now two items', async() => {
|
|
const result = await page.countElement(selectors.claimDetail.claimDetailLine);
|
|
|
|
expect(result).toEqual(2);
|
|
});
|
|
|
|
it('should edit de first item claimed quantity', async() => {
|
|
await page.clearInput(selectors.claimDetail.firstItemQuantityInput); // selector deleted, find new upon fixes
|
|
await page.write(selectors.claimDetail.firstItemQuantityInput, '4'); // selector deleted, find new upon fixes
|
|
await page.keyboard.press('Enter');
|
|
const result = await page.waitForLastSnackbar();
|
|
|
|
expect(result).toEqual('Data saved!');
|
|
});
|
|
|
|
it('should confirm the first item quantity, and the claimed total were correctly edited', async() => {
|
|
const claimedQuantity = page
|
|
.waitToGetProperty(selectors.claimDetail.firstItemQuantityInput, 'value'); // selector deleted, find new upon fixes
|
|
|
|
const totalClaimed = page
|
|
.waitToGetProperty(selectors.claimDetail.totalClaimed, 'innerText');
|
|
|
|
expect(claimedQuantity).toEqual('4');
|
|
expect(totalClaimed).toContain('€47.62');
|
|
});
|
|
|
|
it('should login as salesAssistant and navigate to the claim.detail section', async() => {
|
|
await page.loginAndModule('salesAssistant', 'claim');
|
|
await page.accessToSearchResult('1');
|
|
await page.accessToSection('claim.card.detail');
|
|
await page.waitForURL('/detail');
|
|
const url = await page.parsedUrl();
|
|
|
|
expect(url.hash).toContain('/detail');
|
|
});
|
|
|
|
it('should edit de second item claimed discount', async() => {
|
|
await page.waitToClick(selectors.claimDetail.secondItemDiscount);
|
|
await page.write(selectors.claimDetail.discountInput, '100');
|
|
await page.keyboard.press('Enter');
|
|
const result = await page.waitForLastSnackbar();
|
|
|
|
expect(result).toEqual('Data saved!');
|
|
});
|
|
|
|
it('should check the mana is the expected one', async() => {
|
|
await page.waitToClick(selectors.claimDetail.secondItemDiscount);
|
|
const result = await page.waitToGetProperty(selectors.claimDetail.discoutPopoverMana, 'innerText');
|
|
|
|
expect(result).toContain('MANÁ: €106');
|
|
});
|
|
|
|
it('should delete the second item from the claim', async() => {
|
|
await page.waitToClick(selectors.claimDetail.secondItemDeleteButton);
|
|
const result = await page.waitForLastSnackbar();
|
|
|
|
expect(result).toEqual('Data saved!');
|
|
});
|
|
|
|
it('should confirm the claim contains now one item', async() => {
|
|
const result = await page.countElement(selectors.claimDetail.claimDetailLine);
|
|
|
|
expect(result).toEqual(1);
|
|
});
|
|
|
|
it('should add the deleted ticket from to the claim', async() => {
|
|
await page.waitToClick(selectors.claimDetail.addItemButton);
|
|
await page.waitToClick(selectors.claimDetail.firstClaimableSaleFromTicket);
|
|
const result = await page.waitForLastSnackbar();
|
|
|
|
expect(result).toEqual('Data saved!');
|
|
});
|
|
|
|
it(`should have been redirected to the next section in claims`, async() => {
|
|
await page.waitForURL('/development');
|
|
const url = await page.parsedUrl();
|
|
|
|
expect(url.hash).toContain('development');
|
|
});
|
|
|
|
it('should navigate back to claim.detail to confirm the claim contains now two items', async() => {
|
|
await page.accessToSection('claim.card.detail');
|
|
await page.wait(selectors.claimDetail.claimDetailLine);
|
|
const result = await page.countElement(selectors.claimDetail.claimDetailLine);
|
|
|
|
expect(result).toEqual(2);
|
|
});
|
|
});
|