/// <reference types="cypress" />
describe('Client list', () => {
    beforeEach(() => {
        cy.viewport(1280, 720);
        cy.login('developer');
        cy.visit('/#/customer/list', {
            timeout: 5000,
            onBeforeLoad(win) {
                cy.stub(win, 'open');
            },
        });
    });

    it('Client list create new client', () => {
        cy.get('.q-page-sticky > div > .q-btn > .q-btn__content > .q-icon').click();
        const data = {
            Name: { val: 'Name 1' },
            'Social name': { val: 'TEST 1' },
            'Tax number': { val: '20852113Z' },
            'Web user': { val: 'user_test_1' },
            Street: { val: 'C/ STREET 1' },
            Email: { val: 'user.test@1.com' },
            'Business type': { val: 'Otros', type: 'select' },
            'Sales person': { val: 'salesboss', type: 'select' },
            Location: { val: '46000, Valencia(Province one), España', type: 'select' },
        };
        cy.fillInForm(data);

        cy.get('.q-mt-lg > .q-btn--standard').click();

        cy.checkNotification('created');
        cy.url().should('include', '/summary');
    });
    it('Client list search client', () => {
        const search = 'Jessica Jones';
        cy.searchByLabel('Name', search);

        cy.get('.title > span').should('have.text', search);
        let id = null;
        cy.get('.q-item > .q-item__label').then((text) => {
            id = text.text().trim().split('#')[1];
            cy.get('.q-item > .q-item__label').should('have.text', ` #${id}`);
            cy.url().should('include', `/customer/${id}/summary`);
        });
    });

    it('Client founded create ticket', () => {
        const search = 'Jessica Jones';
        cy.searchByLabel('Name', search);
        cy.clickButtonsDescriptor(2);
        cy.waitForElement('#formModel');
        cy.waitForElement('.q-form');
        cy.checkValueForm(1, search);
    });
    it('Client founded create order', () => {
        const search = 'Jessica Jones';
        cy.searchByLabel('Name', search);
        cy.clickButtonsDescriptor(4);
        cy.waitForElement('#formModel');
        cy.waitForElement('.q-form');
        cy.checkValueForm(2, search);
    });
});
