/// describe('InvoiceOut summary', () => { const transferInvoice = { Client: { val: 'employee', type: 'select' }, Type: { val: 'Error in customer data', type: 'select' }, }; const firstRowDescriptors = (opt) => `tbody > :nth-child(1) > :nth-child(${opt}) > .q-btn`; const toCustomerSummary = '[href="#/customer/1101"]'; const toTicketList = '[href="#/ticket/list?table={%22refFk%22:%22T1111111%22}"]'; const selectMenuOption = (opt) => `.q-menu > .q-list > :nth-child(${opt})`; const confirmSend = '.q-btn--unelevated'; beforeEach(() => { cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/invoice-out/1/summary`); }); it('open the descriptors', () => { cy.get(firstRowDescriptors(1)).click(); cy.get('.descriptor').should('be.visible'); cy.get('.q-item > .q-item__label').should('include.text', '1'); cy.get(firstRowDescriptors(2)).click(); cy.get('.descriptor').should('be.visible'); cy.get('.q-item > .q-item__label').should('include.text', '1101'); }); it('should open the client summary and the ticket list', () => { cy.get(toCustomerSummary).click(); cy.get('.descriptor').should('be.visible'); cy.get('.q-item > .q-item__label').should('include.text', '1101'); }); it('should open the ticket list', () => { cy.get(toTicketList).click(); cy.get('.descriptor').should('be.visible'); cy.dataCy('vnFilterPanelChip').should('include.text', 'T1111111'); }); it('should transfer the invoice ', () => { cy.typeSearchbar('T1111111{enter}'); cy.dataCy('descriptor-more-opts').click(); cy.get(selectMenuOption(1)).click(); cy.fillInForm(transferInvoice); cy.get('.q-mt-lg > .q-btn').click(); cy.checkNotification('Transferred invoice'); }); it('should send the invoice as PDF', () => { cy.dataCy('descriptor-more-opts').click(); cy.get(selectMenuOption(3)).click(); cy.dataCy('InvoiceOutDescriptorMenuSendPdfOption').click(); cy.get(confirmSend).click(); cy.checkNotification('Notification sent'); }); it('should send the invoice as CSV', () => { cy.dataCy('descriptor-more-opts').click(); cy.get(selectMenuOption(3)).click(); cy.dataCy('InvoiceOutDescriptorMenuSendCsvOption').click(); cy.get(confirmSend).click(); cy.checkNotification('Notification sent'); }); it('should delete an invoice ', () => { cy.typeSearchbar('T2222222{enter}'); cy.dataCy('descriptor-more-opts').click(); cy.get(selectMenuOption(4)).click(); cy.dataCy('VnConfirm_confirm').click(); cy.checkNotification('InvoiceOut deleted'); }); it('should book the invoice', () => { cy.dataCy('descriptor-more-opts').click(); cy.get(selectMenuOption(5)).click(); cy.dataCy('VnConfirm_confirm').click(); cy.checkNotification('InvoiceOut booked'); }); it('should generate the invoice PDF', () => { cy.dataCy('descriptor-more-opts').click(); cy.get(selectMenuOption(6)).click(); cy.dataCy('VnConfirm_confirm').click(); cy.checkNotification('The invoice PDF document has been regenerated'); }); it('should refund the invoice ', () => { cy.dataCy('descriptor-more-opts').click(); cy.get(selectMenuOption(7)).click(); cy.get('#q-portal--menu--3 > .q-menu > .q-list > :nth-child(2)').click(); cy.checkNotification('The following refund ticket have been created'); }); });