UNPKG

playwright-fluent

Version:
87 lines (86 loc) 3.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const playwright_fluent_1 = require("../../playwright-fluent"); const devices_1 = require("../../../devices"); // eslint-disable-next-line @typescript-eslint/no-var-requires const isCI = require('is-ci'); describe('Playwright Fluent - withViewPort', () => { let p; beforeEach(() => { p = new playwright_fluent_1.PlaywrightFluent(); }); afterEach(async () => { await p.close(); }); test('should target chromium in headfull with viewport size 800x600', async () => { // Given const browser = 'chromium'; const options = { headless: false, }; const url = 'https://reactstrap.github.io'; const viewport = { ...devices_1.sizeOf._800x600, }; // When // prettier-ignore await p .withBrowser(browser) .withOptions(options) .withViewport(viewport) .navigateTo(url); // Then const windowState = await p.getCurrentWindowState(); expect(Math.abs(windowState.innerWidth - viewport.width)).toBeLessThanOrEqual(10); expect(Math.abs(windowState.innerHeight - viewport.height)).toBeLessThanOrEqual(10); }); test('should target chromium in headfull with viewport size 1280x720', async () => { // Given const browser = 'chromium'; const options = { headless: false, }; const url = 'https://reactstrap.github.io'; const viewport = { ...devices_1.sizeOf._1280x720, }; // When // prettier-ignore await p .withBrowser(browser) .withOptions(options) .withViewport(viewport) .navigateTo(url); // Then const windowState = await p.getCurrentWindowState(); expect(Math.abs(windowState.innerWidth - viewport.width)).toBeLessThanOrEqual(10); expect(Math.abs(windowState.innerHeight - viewport.height)).toBeLessThanOrEqual(10); }); test('should target chromium in headfull with viewport size 1600x900', async () => { // Given if (!isCI) { // eslint-disable-next-line no-console console.log('test will be ignored because it should be executed only in a CI env'); return; } const browser = 'chromium'; const options = { headless: false, }; const url = 'https://reactstrap.github.io'; const viewport = { ...devices_1.sizeOf._1600x900, }; // When // prettier-ignore await p .withBrowser(browser) .withOptions(options) .withViewport(viewport, { ciOnly: true }) .navigateTo(url); // Then const windowState = await p.getCurrentWindowState(); expect(Math.abs(windowState.innerWidth - viewport.width)).toBeLessThanOrEqual(10); expect(Math.abs(windowState.innerHeight - viewport.height)).toBeLessThanOrEqual(10); }); });