| 
									
										
										
										
											2024-08-07 19:09:36 +03:00
										 |  |  | import { defineConfig, devices } from '@playwright/test'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Read environment variables from file. | 
					
						
							|  |  |  |  * https://github.com/motdotla/dotenv
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | // import dotenv from 'dotenv';
 | 
					
						
							|  |  |  | // dotenv.config({ path: path.resolve(__dirname, '.env') });
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * See https://playwright.dev/docs/test-configuration.
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | export default defineConfig({ | 
					
						
							|  |  |  |   testDir: './integration-tests', | 
					
						
							|  |  |  |   /* Run tests in files in parallel */ | 
					
						
							|  |  |  |   fullyParallel: true, | 
					
						
							|  |  |  |   /* 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: { | 
					
						
							|  |  |  |     /* Base URL to use in actions like `await page.goto('/')`. */ | 
					
						
							|  |  |  |     // baseURL: 'http://127.0.0.1:3000',
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ | 
					
						
							|  |  |  |     trace: 'on-first-retry', | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-14 23:03:36 +03:00
										 |  |  |   webServer: { | 
					
						
							|  |  |  |     command: "npm run integration-mem-db", | 
					
						
							|  |  |  |     url: "http://127.0.0.1:8082", | 
					
						
							| 
									
										
										
										
											2024-08-15 00:06:37 +03:00
										 |  |  |     reuseExistingServer: true, | 
					
						
							| 
									
										
										
										
											2024-08-14 23:03:36 +03:00
										 |  |  |     stdout: "ignore", | 
					
						
							|  |  |  |     stderr: "pipe" | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-07 19:09:36 +03:00
										 |  |  |   /* Configure projects for major browsers */ | 
					
						
							|  |  |  |   projects: [ | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2024-08-09 00:41:55 +03:00
										 |  |  |       name: "setup", | 
					
						
							|  |  |  |       testMatch: /.*\.setup\.ts/ | 
					
						
							| 
									
										
										
										
											2024-08-07 19:09:36 +03:00
										 |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2024-08-09 00:41:55 +03:00
										 |  |  |       name: "firefox", | 
					
						
							|  |  |  |       use: { | 
					
						
							|  |  |  |         ...devices[ "Desktop Firefox" ], | 
					
						
							|  |  |  |         storageState: "playwright/.auth/user.json" | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       dependencies: [ "setup" ] | 
					
						
							| 
									
										
										
										
											2024-08-07 19:09:36 +03:00
										 |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* 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: { ...devices['Desktop Edge'], channel: 'msedge' },
 | 
					
						
							|  |  |  |     // },
 | 
					
						
							|  |  |  |     // {
 | 
					
						
							|  |  |  |     //   name: 'Google Chrome',
 | 
					
						
							|  |  |  |     //   use: { ...devices['Desktop Chrome'], channel: 'chrome' },
 | 
					
						
							|  |  |  |     // },
 | 
					
						
							|  |  |  |   ], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Run your local dev server before starting the tests */ | 
					
						
							|  |  |  |   // webServer: {
 | 
					
						
							|  |  |  |   //   command: 'npm run start',
 | 
					
						
							|  |  |  |   //   url: 'http://127.0.0.1:3000',
 | 
					
						
							|  |  |  |   //   reuseExistingServer: !process.env.CI,
 | 
					
						
							|  |  |  |   // },
 | 
					
						
							|  |  |  | }); |