| 
									
										
										
										
											2021-12-07 12:35:38 -08:00
										 |  |  | /* eslint-disable notice/notice */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-12 13:12:02 -08:00
										 |  |  | import { defineConfig, devices } from '@playwright/test'; | 
					
						
							| 
									
										
										
										
											2021-12-07 12:35:38 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * See https://playwright.dev/docs/test-configuration.
 | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2023-01-12 13:12:02 -08:00
										 |  |  | export default defineConfig({ | 
					
						
							| 
									
										
										
										
											2021-12-07 12:35:38 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   testDir: './tests', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Maximum time one test can run for. */ | 
					
						
							|  |  |  |   timeout: 30 * 1000, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   expect: { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Maximum time expect() should wait for the condition to be met. | 
					
						
							|  |  |  |      * For example in `await expect(locator).toHaveText();` | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     timeout: 5000 | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Fail the build on CI if you accidentally left test.only in the source code. */ | 
					
						
							|  |  |  |   forbidOnly: !!process.env.CI, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Retry on CI only */ | 
					
						
							|  |  |  |   retries: process.env.CI ? 2 : 0, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Opt out of parallel tests on CI. */ | 
					
						
							|  |  |  |   workers: process.env.CI ? 1 : undefined, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Reporter to use. See https://playwright.dev/docs/test-reporters */ | 
					
						
							|  |  |  |   reporter: 'html', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ | 
					
						
							|  |  |  |   use: { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ | 
					
						
							|  |  |  |     actionTimeout: 0, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Base URL to use in actions like `await page.goto('/')`. */ | 
					
						
							|  |  |  |     // baseURL: 'http://localhost:3000',
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ | 
					
						
							|  |  |  |     trace: 'on-first-retry', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     acceptDownloads: true, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Configure projects for major browsers */ | 
					
						
							|  |  |  |   projects: [ | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |       name: 'chromium', | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       /* Project-specific settings. */ | 
					
						
							|  |  |  |       use: { | 
					
						
							|  |  |  |         ...devices['Desktop Chrome'], | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |       name: 'firefox', | 
					
						
							|  |  |  |       use: { | 
					
						
							|  |  |  |         ...devices['Desktop Firefox'], | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |       name: 'webkit', | 
					
						
							|  |  |  |       use: { | 
					
						
							|  |  |  |         ...devices['Desktop Safari'], | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Test against mobile viewports. */ | 
					
						
							|  |  |  |     // {
 | 
					
						
							|  |  |  |     //   name: 'Mobile Chrome',
 | 
					
						
							|  |  |  |     //   use: {
 | 
					
						
							|  |  |  |     //     ...devices['Pixel 5'],
 | 
					
						
							|  |  |  |     //   },
 | 
					
						
							|  |  |  |     // },
 | 
					
						
							|  |  |  |     // {
 | 
					
						
							|  |  |  |     //   name: 'Mobile Safari',
 | 
					
						
							|  |  |  |     //   use: {
 | 
					
						
							|  |  |  |     //     ...devices['iPhone 12'],
 | 
					
						
							|  |  |  |     //   },
 | 
					
						
							|  |  |  |     // },
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Test against branded browsers. */ | 
					
						
							|  |  |  |     // {
 | 
					
						
							|  |  |  |     //   name: 'Microsoft Edge',
 | 
					
						
							|  |  |  |     //   use: {
 | 
					
						
							|  |  |  |     //     channel: 'msedge',
 | 
					
						
							|  |  |  |     //   },
 | 
					
						
							|  |  |  |     // },
 | 
					
						
							|  |  |  |     // {
 | 
					
						
							|  |  |  |     //   name: 'Google Chrome',
 | 
					
						
							|  |  |  |     //   use: {
 | 
					
						
							|  |  |  |     //     channel: 'chrome',
 | 
					
						
							|  |  |  |     //   },
 | 
					
						
							|  |  |  |     // },
 | 
					
						
							|  |  |  |   ], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Folder for test artifacts such as screenshots, videos, traces, etc. */ | 
					
						
							|  |  |  |   // outputDir: 'test-results/',
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Run your local dev server before starting the tests */ | 
					
						
							|  |  |  |   // webServer: {
 | 
					
						
							|  |  |  |   //   command: 'npm run start',
 | 
					
						
							|  |  |  |   //   port: 3000,
 | 
					
						
							|  |  |  |   // },
 | 
					
						
							| 
									
										
										
										
											2023-01-12 13:12:02 -08:00
										 |  |  | }); |