mirror of
https://github.com/nikdoof/pocket-id.git
synced 2025-12-13 14:52:18 +00:00
tests: fix flaky playwright tests
This commit is contained in:
6
.github/workflows/e2e-tests.yml
vendored
6
.github/workflows/e2e-tests.yml
vendored
@@ -36,13 +36,9 @@ jobs:
|
|||||||
working-directory: ./frontend
|
working-directory: ./frontend
|
||||||
run: npx playwright test
|
run: npx playwright test
|
||||||
|
|
||||||
- name: Get container logs
|
|
||||||
if: always()
|
|
||||||
run: docker logs pocket-id
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: playwright-report
|
name: playwright-report
|
||||||
path: frontend/tests/.output
|
path: frontend/tests/.report
|
||||||
retention-days: 15
|
retention-days: 15
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -34,5 +34,6 @@ vite.config.ts.timestamp-*
|
|||||||
# Application specific
|
# Application specific
|
||||||
data
|
data
|
||||||
/frontend/tests/.auth
|
/frontend/tests/.auth
|
||||||
|
/frontend/tests/.report
|
||||||
pocket-id-backend
|
pocket-id-backend
|
||||||
/backend/GeoLite2-City.mmdb
|
/backend/GeoLite2-City.mmdb
|
||||||
@@ -19,6 +19,7 @@ func newDatabase() (db *gorm.DB) {
|
|||||||
log.Fatalf("failed to connect to database: %v", err)
|
log.Fatalf("failed to connect to database: %v", err)
|
||||||
}
|
}
|
||||||
sqlDb, err := db.DB()
|
sqlDb, err := db.DB()
|
||||||
|
sqlDb.SetMaxOpenConns(1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to get sql.DB: %v", err)
|
log.Fatalf("failed to get sql.DB: %v", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export default defineConfig({
|
|||||||
workers: 1,
|
workers: 1,
|
||||||
reporter: process.env.CI
|
reporter: process.env.CI
|
||||||
? [['html'], ['github']]
|
? [['html'], ['github']]
|
||||||
: [['line'], ['html', { open: 'never', outputFolder: 'tests/.output' }]],
|
: [['line'], ['html', { open: 'never', outputFolder: 'tests/.report' }]],
|
||||||
use: {
|
use: {
|
||||||
baseURL: 'http://localhost',
|
baseURL: 'http://localhost',
|
||||||
video: 'retain-on-failure',
|
video: 'retain-on-failure',
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { cleanupBackend } from './utils/cleanup.util';
|
|||||||
|
|
||||||
test.beforeEach(cleanupBackend);
|
test.beforeEach(cleanupBackend);
|
||||||
|
|
||||||
test('Create user group', async ({ page, baseURL }) => {
|
test('Create user group', async ({ page }) => {
|
||||||
await page.goto('/settings/admin/user-groups');
|
await page.goto('/settings/admin/user-groups');
|
||||||
const group = userGroups.humanResources;
|
const group = userGroups.humanResources;
|
||||||
|
|
||||||
@@ -15,8 +15,7 @@ test('Create user group', async ({ page, baseURL }) => {
|
|||||||
|
|
||||||
await expect(page.getByRole('status')).toHaveText('User group created successfully');
|
await expect(page.getByRole('status')).toHaveText('User group created successfully');
|
||||||
|
|
||||||
const expectedRoute = new RegExp(`${baseURL}/settings/admin/user-groups/[a-f0-9-]+`);
|
await page.waitForURL('/settings/admin/user-groups/*');
|
||||||
expect(page.url()).toMatch(expectedRoute);
|
|
||||||
|
|
||||||
await expect(page.getByLabel('Friendly Name')).toHaveValue(group.friendlyName);
|
await expect(page.getByLabel('Friendly Name')).toHaveValue(group.friendlyName);
|
||||||
await expect(page.getByLabel('Name', { exact: true })).toHaveValue(group.name);
|
await expect(page.getByLabel('Name', { exact: true })).toHaveValue(group.name);
|
||||||
|
|||||||
Reference in New Issue
Block a user