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.
47 lines
1.3 KiB
47 lines
1.3 KiB
9 months ago
|
import { Page } from '@playwright/test';
|
||
|
import BasePage from '../Base';
|
||
|
import { ProjectsPage } from '../ProjectsPage';
|
||
|
|
||
|
export class OpenIDLoginPage extends BasePage {
|
||
|
readonly projectsPage: ProjectsPage;
|
||
|
|
||
|
constructor(rootPage: Page) {
|
||
|
super(rootPage);
|
||
|
this.projectsPage = new ProjectsPage(rootPage);
|
||
|
}
|
||
|
|
||
|
async goto(title = 'test') {
|
||
|
// reload page to get latest app info
|
||
|
await this.rootPage.reload();
|
||
|
await this.rootPage.goto('/#/signin/');
|
||
|
// click sign in with SAML
|
||
|
await this.rootPage.locator(`button:has-text("Sign in with ${title}")`).click();
|
||
|
}
|
||
|
|
||
|
get() {
|
||
|
return this.rootPage.locator('html');
|
||
|
}
|
||
|
|
||
|
async signIn({ email }: { email: string }) {
|
||
|
const signIn = this.get();
|
||
|
await signIn.locator('[name="login"]').waitFor();
|
||
|
|
||
|
await signIn.locator(`[name="login"]`).fill(email);
|
||
|
await signIn.locator(`[name="password"]`).fill('dummy-password');
|
||
|
|
||
|
await signIn.locator(`[type="submit"]`).click();
|
||
|
const authorize = this.get();
|
||
|
|
||
|
await Promise.all([
|
||
|
this.rootPage.waitForNavigation({ url: /localhost:8080/ }),
|
||
|
authorize.locator(`[type="submit"]`).click(),
|
||
|
]);
|
||
|
|
||
|
await this.rootPage.goto(`http://localhost:3000?` + this.rootPage.url().split('?')[1]);
|
||
|
|
||
|
await this.projectsPage.waitToBeRendered();
|
||
|
|
||
|
console.log('111');
|
||
|
}
|
||
|
}
|