Browse Source

test: playwright - SAML auth flow test - WIP

pull/7569/head
Pranav C 5 months ago
parent
commit
b7eb07f6bc
  1. 34
      tests/playwright/pages/SsoIdpPage/SAMLLoginPage.ts
  2. 12
      tests/playwright/setup/index.ts

34
tests/playwright/pages/SsoIdpPage/SAMLLoginPage.ts

@ -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();
}
}

12
tests/playwright/setup/index.ts

@ -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

Loading…
Cancel
Save