diff --git a/e2e/paths/claim-module/01_edit_basic_data.spec.js b/e2e/paths/claim-module/01_edit_basic_data.spec.js new file mode 100644 index 000000000..44ed03231 --- /dev/null +++ b/e2e/paths/claim-module/01_edit_basic_data.spec.js @@ -0,0 +1,107 @@ +import selectors from '../../helpers/selectors.js'; +import createNightmare from '../../helpers/helpers.js'; + +describe('Claim', () => { + describe('Edit basic data path', () => { + const nightmare = createNightmare(); + + beforeAll(() => { + return nightmare + .waitForLogin('developer'); + }); + + it('should click on the Claims button of the top bar menu', () => { + return nightmare + .waitToClick(selectors.globalItems.applicationsMenuButton) + .wait(selectors.globalItems.applicationsMenuVisible) + .waitToClick(selectors.globalItems.claimsButton) + .wait(selectors.claimsIndex.searchClaimInput) + .parsedUrl() + .then(url => { + expect(url.hash).toEqual('#!/claim/index'); + }); + }); + + // descomentar este test despues de completar la tarea #629 claim index buscador avanzado + // it('should search for the claim with id 1', () => { + // return nightmare + // .wait(selectors.claimsIndex.searchResult) + // .type(selectors.claimsIndex.searchClaimInput, '1') + // .click(selectors.claimsIndex.searchButton) + // .waitForNumberOfElements(selectors.claimsIndex.searchResult, 1) + // .countElement(selectors.claimsIndex.searchResult) + // .then(result => { + // expect(result).toEqual(1); + // }); + // }); + + it(`should click on the search result to access to the ticket Basic Data`, () => { + return nightmare + .waitToClick(selectors.claimsIndex.searchResult) + .waitToClick(selectors.claimBasicData.basicDataButton) + .waitForURL('basic-data') + .url() + .then(url => { + expect(url).toContain('basic-data'); + }); + }); + + it(`should edit claim state, is paid with mana and observation fields`, () => { + return nightmare + .waitToClick(selectors.claimBasicData.claimStateSelect) + .waitToClick(selectors.claimBasicData.claimStateSelectThirdOption) + .waitToClick(selectors.claimBasicData.isPaidWithManaCheckbox) + .clearInput(selectors.claimBasicData.observationInput) + .type(selectors.claimBasicData.observationInput, 'edited observation') + .click(selectors.claimBasicData.saveButton) + .waitForSnackbar() + .then(result => { + expect(result).toEqual(jasmine.arrayContaining(['Data saved!'])); + }); + }); + + it('should confirm the claim state was edited', () => { + return nightmare + .click(selectors.claimDetails.detailsButton) + .wait(selectors.claimDetails.addItemButton) + .click(selectors.claimBasicData.basicDataButton) + .wait(selectors.claimBasicData.claimStateSelect) + .getInputValue(selectors.claimBasicData.claimStateSelect) + .then(result => { + expect(result).toEqual('Gestionado'); + }); + }); + + it('should confirm the Is paid with mana checkbox is checked', () => { + return nightmare + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.claimBasicData.isPaidWithManaCheckbox) + .then(value => { + expect(value).toBeTruthy(); + }); + }); + + it('should confirm the claim observation was edited', () => { + return nightmare + .getInputValue(selectors.claimBasicData.observationInput) + .then(result => { + expect(result).toEqual('edited observation'); + }); + }); + + it(`should edit the claim to leave it untainted`, () => { + return nightmare + .waitToClick(selectors.claimBasicData.claimStateSelect) + .waitToClick(selectors.claimBasicData.claimStateSelectFourthOption) + .waitToClick(selectors.claimBasicData.isPaidWithManaCheckbox) + .clearInput(selectors.claimBasicData.observationInput) + .type(selectors.claimBasicData.observationInput, 'Observation one') + .click(selectors.claimBasicData.saveButton) + .waitForSnackbar() + .then(result => { + expect(result).toEqual(jasmine.arrayContaining(['Data saved!'])); + }); + }); + }); +});