Replace Cypress with Playwright

Playwright is more flexible and has better developer experience than Cypress.
We add end to end tests covering:

  - project source browsing
    - tree view
    - commit list view
    - commit view
  - routing
    - hash based
    - history API based
  - clipboard copy paste functionality
  - seed view
  - project search
  - landing page view
  - settings

Co-authored-by: Sebastian Martinez <me@sebastinez.dev>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
This commit is contained in:
Rūdolfs Ošiņš
2022-12-01 15:54:56 +01:00
co-authored by Sebastian Martinez
parent d740d7e5a1
commit 9cb9332e88
83 changed files with 2173 additions and 4148 deletions
+50
View File
@@ -0,0 +1,50 @@
import type { PlaywrightTestConfig } from "@playwright/test";
import { devices } from "@playwright/test";
const config: PlaywrightTestConfig = {
testDir: "./tests/e2e",
timeout: 30_000,
expect: {
timeout: 8000,
},
fullyParallel: true,
outputDir: "./tests/artifacts",
workers: process.env.CI ? 1 : undefined,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
reporter: "list",
globalSetup: "./tests/support/globalSetup",
use: {
actionTimeout: 0,
baseURL: "http://localhost:3000",
trace: "retain-on-failure",
},
projects: [
{
name: "chromium",
use: {
...devices["Desktop Chrome"],
},
},
{
name: "firefox",
use: {
...devices["Desktop Firefox"],
},
},
{
name: "webkit",
use: {
...devices["Desktop Safari"],
},
},
],
webServer: {
command: "npm run start",
port: 3000,
},
};
export default config;