Преглед на файлове

Simplify the definition of Projects

Shun Miyazawa преди 1 година
родител
ревизия
edd7933557
променени са 1 файла, в които са добавени 12 реда и са изтрити 23 реда
  1. 12 23
      apps/app/playwright.config.ts

+ 12 - 23
apps/app/playwright.config.ts

@@ -8,10 +8,18 @@ const authFile = path.resolve(__dirname, './playwright/.auth/admin.json');
 // Use prepared auth state.
 // Use prepared auth state.
 const storageState = fs.existsSync(authFile) ? authFile : undefined;
 const storageState = fs.existsSync(authFile) ? authFile : undefined;
 
 
-const supportedBrowsers = ['chromium', 'firefox', 'webkit'];
+const supportedBrowsers = ['chromium', 'firefox', 'webkit'] as const;
+
+const projects: Array<Project> = supportedBrowsers.map(browser => ({
+  name: browser,
+  use: { ...devices[`Desktop ${browser}`], storageState },
+  testMatch: /10-installer\/.*\.spec\.ts/,
+  dependencies: ['setup'],
+}));
+
 const projectsForGuestMode: Array<Project> = supportedBrowsers.map(browser => ({
 const projectsForGuestMode: Array<Project> = supportedBrowsers.map(browser => ({
   name: `${browser}/guest-mode`,
   name: `${browser}/guest-mode`,
-  use: { ...devices['Desktop Chrome'] },
+  use: { ...devices[`Desktop ${browser}`] }, // Do not use storageState
   testMatch: /21-basic-features-for-guest\/.*\.spec\.ts/,
   testMatch: /21-basic-features-for-guest\/.*\.spec\.ts/,
 }));
 }));
 
 
@@ -74,28 +82,9 @@ export default defineConfig({
       dependencies: ['setup'],
       dependencies: ['setup'],
     },
     },
 
 
-    ...projectsForGuestMode,
-
-    {
-      name: 'chromium',
-      use: { ...devices['Desktop Chrome'], storageState },
-      testIgnore: /(10-installer|21-basic-features-for-guest)\/.*\.spec\.ts/,
-      dependencies: ['setup', 'auth'],
-    },
-
-    {
-      name: 'firefox',
-      use: { ...devices['Desktop Firefox'], storageState },
-      testIgnore: /(10-installer|21-basic-features-for-guest)\/.*\.spec\.ts/,
-      dependencies: ['setup', 'auth'],
-    },
+    ...projects,
 
 
-    {
-      name: 'webkit',
-      use: { ...devices['Desktop Safari'], storageState },
-      testIgnore: /(10-installer|21-basic-features-for-guest)\/.*\.spec\.ts/,
-      dependencies: ['setup', 'auth'],
-    },
+    ...projectsForGuestMode,
 
 
     /* Test against mobile viewports. */
     /* Test against mobile viewports. */
     // {
     // {