56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
|
/// <reference types="cypress" />
|
||
|
describe('InvoiceInVat', () => {
|
||
|
const inputs = 'label input';
|
||
|
const inputBtns = 'label button';
|
||
|
const thirdRow = 'tbody > :nth-child(3)';
|
||
|
const firstLineVat = 'tbody > :nth-child(1) > :nth-child(4)';
|
||
|
const dialogInputs = '.q-dialog label input';
|
||
|
const dialogBtns = '.q-dialog button';
|
||
|
const randomInt = Math.floor(Math.random() * 100);
|
||
|
|
||
|
beforeEach(() => {
|
||
|
cy.login('developer');
|
||
|
cy.visit(`/#/invoice-in/1/vat`);
|
||
|
});
|
||
|
|
||
|
it('should edit the first line', () => {
|
||
|
cy.get(inputBtns).eq(1).click();
|
||
|
cy.get(inputs).eq(2).type(23);
|
||
|
cy.selectOption(firstLineVat, 'H.P. IVA 21% CEE');
|
||
|
|
||
|
cy.saveCard();
|
||
|
cy.visit(`/#/invoice-in/1/vat`);
|
||
|
|
||
|
cy.getValue(firstLineVat).should('have.value', 'H.P. IVA 21% CEE');
|
||
|
});
|
||
|
|
||
|
it('should add a new row', () => {
|
||
|
cy.addRow();
|
||
|
cy.fillRow(thirdRow, [true, 2000000001, 30, 'H.P. IVA 10']);
|
||
|
cy.saveCard();
|
||
|
cy.get('.q-notification__message').should('have.text', 'Data saved');
|
||
|
});
|
||
|
|
||
|
it('should remove the first line', () => {
|
||
|
cy.removeRow(1);
|
||
|
});
|
||
|
|
||
|
it('should throw an error if there are fields undefined', () => {
|
||
|
cy.get(inputBtns).eq(0).click();
|
||
|
cy.get(dialogBtns).eq(2).click();
|
||
|
cy.get('.q-notification__message').should('have.text', "The code can't be empty");
|
||
|
});
|
||
|
|
||
|
it('should correctly handle expense addition', () => {
|
||
|
cy.get(inputBtns).eq(0).click();
|
||
|
|
||
|
cy.get(dialogInputs).eq(0).click();
|
||
|
cy.get(dialogInputs).eq(0).type(randomInt);
|
||
|
cy.get(dialogInputs).eq(1).click();
|
||
|
cy.get(dialogInputs).eq(1).type('This is a dummy expense');
|
||
|
|
||
|
cy.get(dialogBtns).eq(2).click();
|
||
|
cy.get('.q-notification__message').should('have.text', 'Data saved');
|
||
|
});
|
||
|
});
|