Skip to content

Commit

Permalink
BREAKING CHANGE: browserType replaced with browserName. Added sup…
Browse files Browse the repository at this point in the history
…port for `@playwright/test`
  • Loading branch information
pashidlos committed Oct 1, 2021
1 parent 3077fff commit f6ce353
Show file tree
Hide file tree
Showing 6 changed files with 2,852 additions and 2,714 deletions.
12 changes: 6 additions & 6 deletions lib/playwright.interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,16 @@ export interface Agent {
viewport?: string;
}

export interface PageTrackOptions {
interface BaseTrackOptions {
diffTollerancePercent?: number;
ignoreAreas?: IgnoreArea[];
screenshotOptions?: PageScreenshotOptions;
agent?: Agent;
}

export interface ElementHandleTrackOptions {
diffTollerancePercent?: number;
ignoreAreas?: IgnoreArea[];
export interface PageTrackOptions extends BaseTrackOptions {
screenshotOptions?: PageScreenshotOptions;
}

export interface ElementHandleTrackOptions extends BaseTrackOptions {
screenshotOptions?: ElementHandleScreenshotOptions;
agent?: Agent;
}
16 changes: 9 additions & 7 deletions lib/playwrightVisualRegressionTracker.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ import {
PlaywrightVisualRegressionTracker,
PageTrackOptions,
ElementHandleTrackOptions,
} from ".";
} from "./index";
import { mocked } from "ts-jest/utils";
import { MaybeMocked } from "ts-jest/dist/utils/testing";

jest.mock("@visual-regression-tracker/sdk-js");

let browserName = chromium.name();
let browserType = chromium;
let browser: Browser;
let context: BrowserContext;
Expand All @@ -25,6 +26,7 @@ const config: Config = {
project: "Default project",
apiKey: "BAZ0EG0PRH4CRQPH19ZKAVADBP9E",
enableSoftAssert: false,
browserName: "chrome",
};

beforeAll(async () => {
Expand All @@ -44,11 +46,11 @@ afterAll(async () => {

describe("playwright", () => {
beforeEach(() => {
playwrightVrt = new PlaywrightVisualRegressionTracker(browserType, config);
playwrightVrt = new PlaywrightVisualRegressionTracker(browserName, config);
});

it("constructor", async () => {
expect(playwrightVrt["browser"]).toBe(browserType.name());
expect(playwrightVrt["browser"]).toBe(browserName);
expect(VisualRegressionTracker).toHaveBeenCalledWith(config);
});

Expand Down Expand Up @@ -111,7 +113,7 @@ describe("playwright", () => {
expect(VisualRegressionTracker.prototype.track).toHaveBeenCalledWith({
name: imageName,
imageBase64: screenshot.toString("base64"),
browser: browserType.name(),
browser: browserName,
viewport: `1800x1600`,
os: trackOptions.agent?.os,
device: trackOptions.agent?.device,
Expand All @@ -130,7 +132,7 @@ describe("playwright", () => {
expect(VisualRegressionTracker.prototype.track).toHaveBeenCalledWith({
name: imageName,
imageBase64: screenshot.toString("base64"),
browser: browserType.name(),
browser: browserName,
viewport: undefined,
os: undefined,
device: undefined,
Expand Down Expand Up @@ -181,7 +183,7 @@ describe("playwright", () => {
expect(VisualRegressionTracker.prototype.track).toHaveBeenCalledWith({
name: imageName,
imageBase64: screenshot.toString("base64"),
browser: browserType.name(),
browser: browserName,
viewport: trackOptions.agent?.viewport,
os: trackOptions.agent?.os,
device: trackOptions.agent?.device,
Expand All @@ -205,7 +207,7 @@ describe("playwright", () => {
expect(VisualRegressionTracker.prototype.track).toHaveBeenCalledWith({
name: imageName,
imageBase64: screenshot.toString("base64"),
browser: browserType.name(),
browser: browserName,
viewport: undefined,
os: undefined,
device: undefined,
Expand Down
14 changes: 9 additions & 5 deletions lib/playwrightVisualRegressionTracker.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import {
VisualRegressionTracker,
Config,
BuildResponse,
Config,
} from "@visual-regression-tracker/sdk-js";
import { Page, Browser, BrowserType, ElementHandle } from "playwright";
import { Page, ElementHandle } from "playwright";
import {
PageTrackOptions,
ElementHandleTrackOptions,
Expand All @@ -13,9 +13,9 @@ export class PlaywrightVisualRegressionTracker {
private vrt: VisualRegressionTracker;
private browser: string;

constructor(browserType: BrowserType<Browser>, config?: Config) {
constructor(browserName: string, config?: Config) {
this.vrt = new VisualRegressionTracker(config);
this.browser = browserType.name();
this.browser = browserName;
}

async start(): Promise<BuildResponse> {
Expand All @@ -26,7 +26,11 @@ export class PlaywrightVisualRegressionTracker {
return this.vrt.stop();
}

async trackPage(page: Page, name: string, options?: PageTrackOptions) {
async trackPage(
page: Pick<Page, "viewportSize" | "screenshot">,
name: string,
options?: PageTrackOptions
) {
const viewportSize = page.viewportSize();
return this.vrt.track({
name,
Expand Down
Loading

0 comments on commit f6ce353

Please sign in to comment.