-
-
Notifications
You must be signed in to change notification settings - Fork 177
/
test.ts
42 lines (36 loc) · 1.02 KB
/
test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { Page, test as playwrightTest } from "@playwright/test";
import { expect } from "../test";
import { BookPage } from "./pages/BookPage";
import { ReviewPage } from "./pages/ReviewPage";
import { UserPage } from "./pages/UserPage";
expect.extend({
toBeOnLoginPage(page: Page) {
if (page.url().match(/\/oidc\/realms\/demo\/protocol\/openid-connect\/auth/)) {
return {
message: () => "passed",
pass: true,
};
}
return {
message: () => `toBeOnLoginPage() assertion failed.\nExpected "/oidc/realms/demo/protocol/openid-connect/auth", got "${page.url()}".`,
pass: false,
};
},
});
type Test = {
bookPage: BookPage,
reviewPage: ReviewPage,
userPage: UserPage,
}
export const test = playwrightTest.extend<Test>({
bookPage: async ({ page }, use) => {
await use(new BookPage(page));
},
reviewPage: async ({ page }, use) => {
await use(new ReviewPage(page));
},
userPage: async ({ page }, use) => {
await use(new UserPage(page));
},
});
export { expect };