/// <reference types="cypress" />
describe('ClaimDevelopment', () => {
    const claimId = 1;
    const firstLineReason = 'tbody > :nth-child(1) > :nth-child(2)';
    const thirdRow = 'tbody > :nth-child(3)';

    beforeEach(() => {
        cy.viewport(1920, 1080);
        cy.login('developer');
        cy.visit(`/#/claim/${claimId}/development`);
        cy.waitForElement('tbody');
    });

    it('should reset line', () => {
        cy.selectOption(firstLineReason, 'Novato');
        cy.resetCard();
        cy.getValue(firstLineReason).should('equal', 'Prisas');
    });

    it('should edit line', () => {
        cy.selectOption(firstLineReason, 'Novato');

        cy.saveCard();
        cy.login('developer');
        cy.visit(`/#/claim/${claimId}/development`);

        cy.getValue(firstLineReason).should('equal', 'Novato');

        //Restart data
        cy.selectOption(firstLineReason, 'Prisas');
        cy.saveCard();
    });

    it('should add and remove new line', () => {
        cy.addCard();
        cy.get(thirdRow).should('exist');

        const rowData = [false, 'Novato', 'Roces', 'Compradores', 'employeeNick', 'Tour'];
        cy.fillRow(thirdRow, rowData);

        cy.saveCard();
        cy.login('developer');
        cy.visit(`/#/claim/${claimId}/development`);

        cy.validateRow(thirdRow, rowData);

        cy.reload();
        cy.validateRow(thirdRow, rowData);

        //remove row
        cy.fillRow(thirdRow, [true]);
        cy.removeCard();
        cy.clickConfirm();
        cy.get(thirdRow).should('not.exist');

        cy.reload();
        cy.get(thirdRow).should('not.exist');
    });
});