import selectors from '../../helpers/selectors.js';
import getBrowser from '../../helpers/puppeteer';

describe('Worker summary path', () => {
    let browser;
    let page;
    beforeAll(async() => {
        browser = await getBrowser();
        page = browser.page;
        await page.loginAndModule('employee', 'worker');
        await page.accessToSearchResult('agencyNick');
    });

    afterAll(async() => {
        await browser.close();
    });

    it('should reach the employee summary section', async() => {
        await page.waitForState('worker.card.summary');
    });

    it('should check the summary contains the name and userName on the header', async() => {
        const result = await page.waitToGetProperty(selectors.workerSummary.header, 'innerText');

        expect(result).toEqual('agency agency');
    });

    it('should check the summary contains the basic data id', async() => {
        const result = await page.waitToGetProperty(selectors.workerSummary.id, 'innerText');

        expect(result).toEqual('3');
    });

    it('should check the summary contains the basic data email', async() => {
        const result = await page.waitToGetProperty(selectors.workerSummary.email, 'innerText');

        expect(result).toEqual('agency@verdnatura.es');
    });

    it('should check the summary contains the basic data department', async() => {
        const result = await page.waitToGetProperty(selectors.workerSummary.department, 'innerText');

        expect(result).toEqual('CAMARA');
    });

    it('should check the summary contains the user data id', async() => {
        const result = await page.waitToGetProperty(selectors.workerSummary.userId, 'innerText');

        expect(result).toEqual('3');
    });

    it('should check the summary contains the user data name', async() => {
        const result = await page.waitToGetProperty(selectors.workerSummary.userName, 'innerText');

        expect(result).toEqual('agency');
    });

    it('should check the summary contains the user data role', async() => {
        const result = await page.waitToGetProperty(selectors.workerSummary.role, 'innerText');

        expect(result).toEqual('agency');
    });

    it('should check the summary contains the user data extension', async() => {
        const result = await page.waitToGetProperty(selectors.workerSummary.extension, 'innerText');

        expect(result).toEqual('1101');
    });
});