mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
// playwright-dev-page.ts |
|
import { expect, Page } from "@playwright/test"; |
|
import BasePage from "../Base"; |
|
import { ProjectsPage } from "../ProjectsPage"; |
|
|
|
export class SignupPage extends BasePage { |
|
readonly projectsPage: ProjectsPage; |
|
|
|
constructor(rootPage: Page) { |
|
super(rootPage); |
|
this.projectsPage = new ProjectsPage(rootPage); |
|
} |
|
|
|
prefixEmail(email: string) { |
|
const parallelId = process.env.TEST_PARALLEL_INDEX ?? '0' |
|
return `nc_test_${parallelId}_${email}`; |
|
} |
|
|
|
goto() { |
|
return this.rootPage.goto("/#/signup/"); |
|
} |
|
|
|
get() { |
|
return this.rootPage.locator("html"); |
|
} |
|
|
|
async signUp({ email, password, withoutPrefix }: { email: string; password: string, withoutPrefix?: boolean }) { |
|
if(!withoutPrefix) email = this.prefixEmail(email); |
|
|
|
const signUp = this.rootPage; |
|
await signUp.locator('button:has-text("SIGN UP")').waitFor(); |
|
|
|
await signUp |
|
.locator(`input[placeholder="Enter your work email"]`) |
|
.fill(email); |
|
await signUp |
|
.locator(`input[placeholder="Enter your password"]`) |
|
.fill(password); |
|
await signUp.locator(`button:has-text("SIGN UP")`).click(); |
|
await this.projectsPage.waitToBeRendered(); |
|
} |
|
}
|
|
|