/// <reference types="cypress" />
describe('VnSearchBar', () => {
    const employeeId = ' #1';
    const salesPersonId = ' #18';
    const idGap = '.q-item > .q-item__label';
    const vnTableRow = '.q-virtual-scroll__content';
    beforeEach(() => {
        cy.login('developer');
        cy.visit('#/customer/list');
    });

    it('should redirect to customer summary page', () => {
        searchAndCheck('1', employeeId);
        searchAndCheck('salesPerson', salesPersonId);
    });

    it('should stay on the list page if there are several results or none', () => {
        cy.writeSearchbar('salesA{enter}');
        checkTableLength(2);

        cy.clearSearchbar();

        cy.writeSearchbar('0{enter}');
        checkTableLength(0);
    });

    const searchAndCheck = (searchTerm, expectedText) => {
        cy.clearSearchbar();
        cy.writeSearchbar(`${searchTerm}{enter}`);
        cy.get(idGap).should('have.text', expectedText);
    };

    const checkTableLength = (expectedLength) => {
        cy.get(vnTableRow).find('tr').should('have.length', expectedLength);
    };
});