mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-25 03:15:24 +00:00
test: playwright - SAML auth flow test - WIP
This commit is contained in:
34
tests/playwright/pages/SsoIdpPage/SAMLLoginPage.ts
Normal file
34
tests/playwright/pages/SsoIdpPage/SAMLLoginPage.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { Page } from '@playwright/test';
|
||||
import BasePage from '../Base';
|
||||
import { ProjectsPage } from '../ProjectsPage';
|
||||
import { expect } from '@playwright/test';
|
||||
|
||||
export class SAMLLoginPage 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('#userName').waitFor();
|
||||
|
||||
await signIn.locator(`#userName`).fill(email);
|
||||
await signIn.locator(`#email`).fill(email);
|
||||
await signIn.locator(`#btn-sign-in`).click();
|
||||
}
|
||||
}
|
||||
@@ -209,6 +209,18 @@ async function localInit({
|
||||
|
||||
// console.log(process.env.TEST_WORKER_INDEX, process.env.TEST_PARALLEL_INDEX);
|
||||
|
||||
// delete sso-clients
|
||||
if (isEE() && api['ssoClient']) {
|
||||
const clients = await api.ssoClient.list();
|
||||
for (const client of clients.list) {
|
||||
try {
|
||||
await api.ssoClient.delete(client.id);
|
||||
} catch (e) {
|
||||
console.log(`Error deleting sso-client: ${client.id}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isEE() && api['workspace']) {
|
||||
// Delete associated workspace
|
||||
// Note that: on worker error, entire thread is reset & worker ID numbering is reset too
|
||||
|
||||
Reference in New Issue
Block a user