Merge pull request '#8599: Modified tests to be more complete and added new ones' (!1409) from 8599-ModifyAndCreateInvoiceOutTests into dev
gitea/salix-front/pipeline/head This commit looks good
Details
gitea/salix-front/pipeline/head This commit looks good
Details
Reviewed-on: #1409 Reviewed-by: Javier Segarra <jsegarra@verdnatura.es>
This commit is contained in:
commit
15a1098506
|
@ -163,10 +163,14 @@ const showExportationLetter = () => {
|
|||
<QMenu anchor="top end" self="top start">
|
||||
<QList>
|
||||
<QItem v-ripple clickable @click="showSendInvoiceDialog('pdf')">
|
||||
<QItemSection>{{ t('Send PDF') }}</QItemSection>
|
||||
<QItemSection data-cy="InvoiceOutDescriptorMenuSendPdfOption">
|
||||
{{ t('Send PDF') }}
|
||||
</QItemSection>
|
||||
</QItem>
|
||||
<QItem v-ripple clickable @click="showSendInvoiceDialog('csv')">
|
||||
<QItemSection>{{ t('Send CSV') }}</QItemSection>
|
||||
<QItemSection data-cy="InvoiceOutDescriptorMenuSendCsvOption">
|
||||
{{ t('Send CSV') }}
|
||||
</QItemSection>
|
||||
</QItem>
|
||||
</QList>
|
||||
</QMenu>
|
||||
|
|
|
@ -24,6 +24,7 @@ invoiceOut:
|
|||
min: Min
|
||||
max: Max
|
||||
hasPdf: Has PDF
|
||||
search: Contains
|
||||
card:
|
||||
issued: Issued
|
||||
customerCard: Customer card
|
||||
|
|
|
@ -24,6 +24,7 @@ invoiceOut:
|
|||
min: Min
|
||||
max: Max
|
||||
hasPdf: Tiene PDF
|
||||
search: Contiene
|
||||
card:
|
||||
issued: Fecha emisión
|
||||
customerCard: Ficha del cliente
|
||||
|
|
|
@ -1,6 +1,16 @@
|
|||
/// <reference types="cypress" />
|
||||
describe('InvoiceOut list', () => {
|
||||
const serial = 'Española rapida';
|
||||
const columnCheckbox =
|
||||
'.bg-header > :nth-child(1) > .q-checkbox > .q-checkbox__inner';
|
||||
const firstRowDescriptor =
|
||||
'tbody > :nth-child(1) > [data-col-field="clientFk"] > .no-padding > .link';
|
||||
const firstRowCheckbox =
|
||||
'tbody > :nth-child(1) > :nth-child(1) > .q-checkbox > .q-checkbox__inner ';
|
||||
const summaryPopupIcon = '.header > :nth-child(2) > .q-btn__content > .q-icon';
|
||||
const filterBtn = '.q-scrollarea__content > .q-btn--standard > .q-btn__content';
|
||||
const firstSummaryIcon =
|
||||
':nth-child(1) > .text-right > [data-cy="tableAction-0"] > .q-btn__content > .q-icon';
|
||||
|
||||
beforeEach(() => {
|
||||
cy.viewport(1920, 1080);
|
||||
|
@ -9,18 +19,32 @@ describe('InvoiceOut list', () => {
|
|||
cy.typeSearchbar('{enter}');
|
||||
});
|
||||
|
||||
it('should search and filter an invoice and enter to the summary', () => {
|
||||
cy.typeSearchbar('1{enter}');
|
||||
cy.get('.q-virtual-scroll__content > :nth-child(2) > :nth-child(7)').click();
|
||||
cy.get('.header > a.q-btn > .q-btn__content').click();
|
||||
cy.typeSearchbar('{enter}');
|
||||
cy.dataCy('InvoiceOutFilterAmountBtn').find('input').type('8.88{enter}');
|
||||
it('should download one pdf from the subtoolbar button', () => {
|
||||
cy.get(firstRowCheckbox).click();
|
||||
cy.dataCy('InvoiceOutDownloadPdfBtn').click();
|
||||
});
|
||||
|
||||
it('should download all pdfs', () => {
|
||||
cy.get('.bg-header > :nth-child(1) > .q-checkbox > .q-checkbox__inner').click();
|
||||
cy.get(columnCheckbox).click();
|
||||
cy.dataCy('InvoiceOutDownloadPdfBtn').click();
|
||||
cy.get('.bg-header > :nth-child(1) > .q-checkbox > .q-checkbox__inner').click();
|
||||
});
|
||||
|
||||
it('should open the invoice descriptor from table icon', () => {
|
||||
cy.get(firstSummaryIcon).click();
|
||||
cy.get('.cardSummary').should('be.visible');
|
||||
cy.get('.summaryHeader > div').should('include.text', 'A1111111');
|
||||
});
|
||||
|
||||
it('should open the client descriptor', () => {
|
||||
cy.get(firstRowDescriptor).click();
|
||||
cy.get(summaryPopupIcon).click();
|
||||
});
|
||||
|
||||
it('should filter the results by client ID, then check the first result is correct', () => {
|
||||
cy.dataCy('Customer ID_input').type('1103');
|
||||
cy.get(filterBtn).click();
|
||||
cy.get(firstRowDescriptor).click();
|
||||
cy.get('.q-item > .q-item__label').should('include.text', '1103');
|
||||
});
|
||||
|
||||
it('should give an error when manual invoicing a ticket that is already invoiced', () => {
|
||||
|
@ -31,11 +55,14 @@ describe('InvoiceOut list', () => {
|
|||
cy.checkNotification('This ticket is already invoiced');
|
||||
});
|
||||
|
||||
it('should create a manual invoice and enter to its summary', () => {
|
||||
it('should create a manual invoice and enter to its summary, then delete that invoice', () => {
|
||||
cy.dataCy('vnTableCreateBtn').click();
|
||||
cy.dataCy('InvoiceOutCreateTicketinput').type(8);
|
||||
cy.dataCy('InvoiceOutCreateTicketinput').type(9);
|
||||
cy.selectOption('[data-cy="InvoiceOutCreateSerialSelect"]', serial);
|
||||
cy.dataCy('FormModelPopup_save').click();
|
||||
cy.checkNotification('Data created');
|
||||
cy.dataCy('descriptor-more-opts').click();
|
||||
cy.get('.q-menu > .q-list > :nth-child(4)').click();
|
||||
cy.dataCy('VnConfirm_confirm').click();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,11 +1,26 @@
|
|||
/// <reference types="cypress" />
|
||||
describe('InvoiceOut negative bases', () => {
|
||||
const getDescriptors = (opt) =>
|
||||
`:nth-child(1) > [data-col-field="${opt}"] > .no-padding > .link`;
|
||||
|
||||
beforeEach(() => {
|
||||
cy.viewport(1920, 1080);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/invoice-out/negative-bases`);
|
||||
});
|
||||
|
||||
it('should open the posible descriptors', () => {
|
||||
cy.get(getDescriptors('clientId')).click();
|
||||
cy.get('.descriptor').should('be.visible');
|
||||
cy.get('.q-item > .q-item__label').should('include.text', '1101');
|
||||
cy.get(getDescriptors('ticketFk')).click();
|
||||
cy.get('.descriptor').should('be.visible');
|
||||
cy.get('.q-item > .q-item__label').should('include.text', '23');
|
||||
cy.get(getDescriptors('workerName')).click();
|
||||
cy.get('.descriptor').should('be.visible');
|
||||
cy.get('.q-item > .q-item__label').should('include.text', '18');
|
||||
});
|
||||
|
||||
it('should filter and download as CSV', () => {
|
||||
cy.get('input[name="ticketFk"]').type('23{enter}');
|
||||
cy.get('#subToolbar > .q-btn').click();
|
||||
|
|
|
@ -5,40 +5,91 @@ describe('InvoiceOut summary', () => {
|
|||
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/list`);
|
||||
cy.visit(`/#/invoice-out/1/summary`);
|
||||
});
|
||||
|
||||
it('should generate the invoice PDF', () => {
|
||||
cy.typeSearchbar('T1111111{enter}');
|
||||
cy.dataCy('descriptor-more-opts').click();
|
||||
cy.get('.q-menu > .q-list > :nth-child(6)').click();
|
||||
cy.dataCy('VnConfirm_confirm').click();
|
||||
cy.checkNotification('The invoice PDF document has been regenerated');
|
||||
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 refund the invoice ', () => {
|
||||
|
||||
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('.q-menu > .q-list > :nth-child(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');
|
||||
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('.q-menu > .q-list > :nth-child(4)').click();
|
||||
cy.get(selectMenuOption(4)).click();
|
||||
cy.dataCy('VnConfirm_confirm').click();
|
||||
cy.checkNotification('InvoiceOut deleted');
|
||||
});
|
||||
it('should transfer the invoice ', () => {
|
||||
cy.typeSearchbar('T1111111{enter}');
|
||||
|
||||
it('should book the invoice', () => {
|
||||
cy.dataCy('descriptor-more-opts').click();
|
||||
cy.get('.q-menu > .q-list > :nth-child(1)').click();
|
||||
cy.fillInForm(transferInvoice);
|
||||
cy.get('.q-mt-lg > .q-btn').click();
|
||||
cy.checkNotification('Transferred invoice');
|
||||
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');
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue