/// <reference types="cypress" />
describe('InvoiceInBasicData', () => {
    const formInputs = '.q-form > .q-card input';
    const firstFormSelect = '.q-card > .vn-row:nth-child(1) > .q-select';
    const documentBtns = '.q-form .q-field button';
    const dialogInputs = '.q-dialog input';
    const dialogActionBtns = '.q-card__actions button';

    beforeEach(() => {
        cy.login('developer');
        cy.visit(`/#/invoice-in/1/basic-data`);
    });

    it('should edit the provideer and supplier ref', () => {
        cy.selectOption(firstFormSelect, 'Bros');
        cy.get('[title="Reset"]').click();
        cy.get(formInputs).eq(1).type('{selectall}4739');
        cy.saveCard();

        cy.get(`${firstFormSelect} input`).invoke('val').should('eq', 'Plants nick');
        cy.get(formInputs).eq(1).invoke('val').should('eq', '4739');
    });

    it('should edit the dms data', () => {
        const firtsInput = 'Ticket:65';
        const secondInput = "I don't know what posting here!";

        cy.get(documentBtns).eq(1).click();
        cy.get(dialogInputs).eq(0).type(`{selectall}${firtsInput}`);
        cy.get('textarea').type(`{selectall}${secondInput}`);
        cy.get(dialogActionBtns).eq(1).click();

        cy.get(documentBtns).eq(1).click();
        cy.get(dialogInputs).eq(0).invoke('val').should('eq', firtsInput);
        cy.get('textarea').invoke('val').should('eq', secondInput);
    });

    it('should throw an error creating a new dms if a file is not attached', () => {
        cy.get(formInputs).eq(7).type('{selectall}{backspace}');
        cy.get(documentBtns).eq(0).click();
        cy.get(dialogActionBtns).eq(1).click();
        cy.get('.q-notification__message').should(
            'have.text',
            "The files can't be empty"
        );
    });
});
