82 lines
2.9 KiB
JavaScript
82 lines
2.9 KiB
JavaScript
import selectors from '../../helpers/selectors.js';
|
|
import getBrowser from '../../helpers/puppeteer';
|
|
|
|
describe('Claim action path', () => {
|
|
let browser;
|
|
let page;
|
|
|
|
beforeAll(async() => {
|
|
browser = await getBrowser();
|
|
page = browser.page;
|
|
await page.loginAndModule('claimManager', 'claim');
|
|
await page.accessToSearchResult('2');
|
|
await page.accessToSection('claim.card.action');
|
|
});
|
|
|
|
afterAll(async() => {
|
|
await browser.close();
|
|
});
|
|
|
|
it('should import the claim', async() => {
|
|
await page.waitToClick(selectors.claimAction.importClaimButton);
|
|
const message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('Data saved!');
|
|
});
|
|
|
|
it('should import the second importable ticket', async() => {
|
|
// the animation adding the header element for the claimed total
|
|
// obscures somehow other elements for about 2 seconds
|
|
await page.waitForTimeout(3000);
|
|
|
|
await page.waitToClick(selectors.claimAction.importTicketButton);
|
|
await page.waitToClick(selectors.claimAction.secondImportableTicket);
|
|
const message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('Data saved!');
|
|
});
|
|
|
|
it('should edit the second line destination field', async() => {
|
|
await page.waitForContentLoaded();
|
|
await page.autocompleteSearch(selectors.claimAction.secondLineDestination, 'Bueno');
|
|
const message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('Data saved!');
|
|
});
|
|
|
|
it('should delete the first line', async() => {
|
|
await page.waitToClick(selectors.claimAction.firstDeleteLine);
|
|
const message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('Data saved!');
|
|
});
|
|
|
|
it('should refresh the view to check the remaining line is the expected one', async() => {
|
|
await page.reloadSection('claim.card.action');
|
|
const result = await page.waitToGetProperty(selectors.claimAction.firstLineDestination, 'value');
|
|
|
|
expect(result).toEqual('Bueno');
|
|
});
|
|
|
|
it('should delete the current first line', async() => {
|
|
await page.waitToClick(selectors.claimAction.firstDeleteLine);
|
|
const message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('Data saved!');
|
|
});
|
|
|
|
it('should check the "is paid with mana" checkbox', async() => {
|
|
await page.waitToClick(selectors.claimAction.isPaidWithManaCheckbox);
|
|
const message = await page.waitForSnackbar();
|
|
|
|
expect(message.text).toContain('Data saved!');
|
|
});
|
|
|
|
it('should confirm the "is paid with mana" is checked', async() => {
|
|
await page.reloadSection('claim.card.action');
|
|
const isPaidWithManaCheckbox = await page.checkboxState(selectors.claimAction.isPaidWithManaCheckbox);
|
|
|
|
expect(isPaidWithManaCheckbox).toBe('checked');
|
|
});
|
|
});
|