Skip to content

Commit

Permalink
refactor: moved non-page expected conditions out of page conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
iamkenos committed Mar 4, 2025
1 parent e76ecf0 commit 28929ef
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { PageCondition } from "@conditions/page/page-condition";
import { ExpectedCondition } from "@conditions/expected-condition";

import type { ExpectedConditionKwargs } from "@conditions/types";

export class ArrayContains<T> extends PageCondition {
export class ArrayContains<T> extends ExpectedCondition {
constructor(actual: Array<T>, expected: Array<T>, kwargs: ExpectedConditionKwargs) {
super(kwargs);
this.actual = actual;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { PageCondition } from "@conditions/page/page-condition";
import { ExpectedCondition } from "@conditions/expected-condition";

import type { ExpectedConditionKwargs } from "@conditions/types";

export class ArrayEquals<T> extends PageCondition {
export class ArrayEquals<T> extends ExpectedCondition {
constructor(actual: Array<T>, expected: Array<T>, kwargs: ExpectedConditionKwargs) {
super(kwargs);
this.actual = actual;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { PageCondition } from "@conditions/page/page-condition";
import { ExpectedCondition } from "@conditions/expected-condition";

import type { ExpectedConditionKwargs } from "@conditions/types";

export class Equals<T = any> extends PageCondition {
export class Equals<T = any> extends ExpectedCondition {
constructor(actual: T, expected: T, kwargs: ExpectedConditionKwargs) {
super(kwargs);
this.actual = actual;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import * as fs from "fs-extra";

import { PageCondition } from "@conditions/page/page-condition";
import { ExpectedCondition } from "@conditions/expected-condition";

import type { ExpectedConditionKwargs } from "@conditions/types";

export class FileExists extends PageCondition {
export class FileExists extends ExpectedCondition {
constructor(path: string, kwargs: ExpectedConditionKwargs) {
super(kwargs);
this.expected = true;
Expand Down
22 changes: 21 additions & 1 deletion src/conditions/expected-conditions.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
import { expect } from "@playwright/test";

import { changecase } from "@common/utils/string";
import { ArrayContains } from "./context/condition/array-contains";
import { ArrayEquals } from "./context/condition/array-equals";
import { Equals } from "./context/condition/equals";
import { FileExists } from "./context/condition/file-exists";

import type { ExpectedCondition } from "./expected-condition";
import type { ExpectedConditionOptions, ExpectedConditionsResult } from "./types";
import type { ExpectedConditionKwargs, ExpectedConditionOptions, ExpectedConditionsResult } from "./types";

export class ExpectedConditions {
protected name: string;
Expand Down Expand Up @@ -68,6 +72,22 @@ export class ExpectedConditions {
return this;
}

arrayContains<T>(actual: Array<T>, expected: Array<T>, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new ArrayContains(actual, expected, kwargs));
}

arrayEquals<T>(actual: Array<T>, expected: Array<T>, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new ArrayEquals(actual, expected, kwargs));
}

equals<T = any>(actual: T, expected: T, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new Equals(actual, expected, kwargs));
}

fileExists(path: string, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new FileExists(path, kwargs));
}

async poll() {
try {
await expect.poll(async() => {
Expand Down
20 changes: 0 additions & 20 deletions src/conditions/page/page-conditions.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import { ExpectedConditions } from "../expected-conditions";
import { ArrayContains } from "./condition/array-contains";
import { ArrayEquals } from "./condition/array-equals";
import { DialogTextContains } from "./condition/dialog-text-contains";
import { DialogTextEquals } from "./condition/dialog-text-equals";
import { DomContentLoaded } from "./condition/dom-content-loaded";
import { Equals } from "./condition/equals";
import { FileExists } from "./condition/file-exists";
import { SnapshotMatch } from "./condition/snapshot-match";
import { TitleContains } from "./condition/title-contains";
import { TitleEquals } from "./condition/title-equals";
Expand All @@ -28,14 +24,6 @@ export class PageConditions extends ExpectedConditions {
this.page = page;
}

arrayContains<T>(actual: Array<T>, expected: Array<T>, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new ArrayContains(actual, expected, kwargs));
}

arrayEquals<T>(actual: Array<T>, expected: Array<T>, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new ArrayEquals(actual, expected, kwargs));
}

dialogTextContains(expected: string, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new DialogTextContains(expected, kwargs));
}
Expand All @@ -48,14 +36,6 @@ export class PageConditions extends ExpectedConditions {
return this.addCondition(new DomContentLoaded(kwargs));
}

equals<T = any>(actual: T, expected: T, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new Equals(actual, expected, kwargs));
}

fileExists(path: string, kwargs?: ExpectedConditionKwargs) {
return this.addCondition(new FileExists(path, kwargs));
}

snapshotMatch(filename: string, kwargs?: ExpectedConditionKwargs & { options?: PageSnapshotOptions }) {
return this.addCondition(new SnapshotMatch(filename, kwargs));
}
Expand Down
4 changes: 2 additions & 2 deletions src/conditions/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import type { ExpectedCondition } from "./expected-condition";

export type { ExpectedCondition } from "./expected-condition";

export type { ExpectedConditions } from "./expected-conditions";

export type { LocatorCondition } from "./locator/locator-condition";

export type { PageCondition } from "./page/page-condition";

export { ExpectedConditions } from "./expected-conditions";

export { LocatorConditions } from "./locator/locator-conditions";

export { PageConditions } from "./page/page-conditions";
Expand Down

0 comments on commit 28929ef

Please sign in to comment.