mirror of
https://github.com/penpot/penpotqa.git
synced 2024-07-12 05:51:47 +00:00
set up tests for run in parallel
This commit is contained in:
parent
09e522c0a9
commit
1a0ce17133
|
@ -5,8 +5,6 @@
|
|||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "npx playwright test --project=chrome -gv 'PERF'",
|
||||
"file": "npx playwright test -g \"AS-27 File library colors - create group\" --project=chrome",
|
||||
"spec": "npx playwright test tests/assets/assets-colors.spec.js --project=chrome",
|
||||
"firefox": "npx playwright test --project=firefox -gv 'PERF'",
|
||||
"webkit": "npx playwright test --project=webkit -gv 'PERF'",
|
||||
"performance": "npx playwright test --retries=1 --project=chrome -g 'PERF'",
|
||||
|
|
|
@ -131,6 +131,22 @@ exports.TeamPage = class TeamPage extends BasePage {
|
|||
}
|
||||
}
|
||||
|
||||
async deleteTeamsIfExist() {
|
||||
await this.openTeamsListIfClosed();
|
||||
for (const teamName of await this.teamListItem.allInnerTexts()) {
|
||||
if (!teamName.includes("Your Penpot")) {
|
||||
const teamSel = this.page.locator(`li.team-name span.team-text:text-is("${teamName}")`).last();
|
||||
await teamSel.click();
|
||||
await this.teamOptionsMenuButton.waitFor();
|
||||
await this.teamOptionsMenuButton.click();
|
||||
await this.deleteTeamMenuItem.click();
|
||||
await this.deleteTeamButton.click();
|
||||
await expect(this.teamCurrentBtn).toHaveText("Your Penpot");
|
||||
await this.openTeamsListIfClosed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async isTeamDeleted(teamName) {
|
||||
await this.openTeamsListIfClosed();
|
||||
for (const el of await this.teamCurrentNameDiv.elementHandles()) {
|
||||
|
|
|
@ -12,7 +12,7 @@ const config = {
|
|||
snapshotPathTemplate: `{testDir}/{testFileDir}/{testFileName}-snapshots/{projectName}/{arg}{ext}`,
|
||||
testDir: "./tests",
|
||||
/* Maximum time one test can run for. */
|
||||
timeout: process.env.CI ? 60 * 1000 : 50 * 1000,
|
||||
timeout: process.env.CI ? 60 * 1000 : 555550 * 1000,
|
||||
expect: {
|
||||
/**
|
||||
* Maximum time expect() should wait for the condition to be met.
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -11,8 +11,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const teamPage = new TeamPage(page);
|
||||
const dashboardPage = new DashboardPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
});
|
||||
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -14,8 +14,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
@ -28,7 +27,7 @@ test.afterEach(async ({ page }) => {
|
|||
});
|
||||
|
||||
test.describe("Flex Layout & Elements", async () => {
|
||||
test.beforeEach(async ({ page, browserName}, testInfo) => {
|
||||
test.beforeEach(async ({ page, browserName }, testInfo) => {
|
||||
testInfo.setTimeout(testInfo.timeout + 10000);
|
||||
const mainPage = new MainPage(page);
|
||||
await mainPage.clickCreateBoardButton();
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName)
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -11,8 +11,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const teamPage = new TeamPage(page);
|
||||
const dashboardPage = new DashboardPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
});
|
||||
|
||||
test.afterEach(async ({ page }) => {
|
||||
|
|
|
@ -10,8 +10,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const teamPage = new TeamPage(page);
|
||||
const dashboardPage = new DashboardPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
});
|
||||
|
||||
test.afterEach(async ({ page }) => {
|
||||
|
|
|
@ -10,6 +10,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const teamPage = new TeamPage(page);
|
||||
const dashboardPage = new DashboardPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.minimizeLibrariesAndTemplatesCarousel();
|
||||
});
|
||||
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -13,8 +13,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -12,8 +12,7 @@ test.beforeEach( async ({ page }) => {
|
|||
const dashboardPage = new DashboardPage(page);
|
||||
const mainPage = new MainPage(page);
|
||||
await teamPage.createTeam(teamName);
|
||||
await dashboardPage.deleteProjectsIfExist();
|
||||
await dashboardPage.deleteFilesIfExist();
|
||||
await teamPage.isTeamSelected(teamName);
|
||||
await dashboardPage.createFileViaPlaceholder();
|
||||
await mainPage.isMainPageLoaded();
|
||||
});
|
||||
|
|
|
@ -2,7 +2,7 @@ const { test } = require("@playwright/test");
|
|||
const { LoginPage } = require("../pages/login-page")
|
||||
const { RegisterPage } = require("../pages/register-page")
|
||||
|
||||
test("ON-5 Sign up with invalid email address",async ({page}) => {
|
||||
test("ON-5 Sign up with invalid email address", async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
const registerPage = new RegisterPage(page);
|
||||
await loginPage.goto();
|
||||
|
@ -15,7 +15,7 @@ test("ON-5 Sign up with invalid email address",async ({page}) => {
|
|||
await registerPage.isCreateAccountBtnDisabled();
|
||||
});
|
||||
|
||||
test("ON-6 Sign up with no password", async ({page}) => {
|
||||
test("ON-6 Sign up with no password", async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
const registerPage = new RegisterPage(page);
|
||||
await loginPage.goto();
|
||||
|
@ -29,7 +29,7 @@ test("ON-6 Sign up with no password", async ({page}) => {
|
|||
await registerPage.isCreateAccountBtnDisabled();
|
||||
});
|
||||
|
||||
test("ON-7 Sign up with incorrect password", async ({page}) => {
|
||||
test("ON-7 Sign up with incorrect password", async ({ page }) => {
|
||||
const loginPage = new LoginPage(page);
|
||||
const registerPage = new RegisterPage(page);
|
||||
await loginPage.goto();
|
||||
|
|
Loading…
Reference in New Issue
Block a user