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

describe('Worker summary path', () => {
    const workerId = 3;
    let browser;
    let page;
    beforeAll(async() => {
        browser = await getBrowser();
        page = browser.page;
        await page.loginAndModule('employee', 'worker');
        const httpDataResponse = page.waitForResponse(response => {
            return response.status() === 200 && response.url().includes(`Workers/${workerId}`);
        });
        await page.accessToSearchResult('agencyNick');
        await httpDataResponse;
    });

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

    it('should reach the employee summary section and check all properties', async() => {
        expect(await page.getProperty(selectors.workerSummary.header, 'innerText')).toEqual('agency agency');
        expect(await page.getProperty(selectors.workerSummary.id, 'innerText')).toEqual('3');
        expect(await page.getProperty(selectors.workerSummary.email, 'innerText')).toEqual('agency@verdnatura.es');
        expect(await page.getProperty(selectors.workerSummary.department, 'innerText')).toEqual('CAMARA');
        expect(await page.getProperty(selectors.workerSummary.userId, 'innerText')).toEqual('3');
        expect(await page.getProperty(selectors.workerSummary.userName, 'innerText')).toEqual('agency');
        expect(await page.getProperty(selectors.workerSummary.role, 'innerText')).toEqual('agency');
        expect(await page.getProperty(selectors.workerSummary.extension, 'innerText')).toEqual('1101');
        expect(await page.getProperty(selectors.workerSummary.locker, 'innerText')).toEqual('-');
    });
});