Skip to content

Commit da0920a

Browse files
authored
Merge pull request #2738 from bcgov/develop
Deployment PR - 1713
2 parents 6a88eea + 34fcace commit da0920a

File tree

13 files changed

+2425
-1839
lines changed

13 files changed

+2425
-1839
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
matrix:
1414
platform: [ubuntu-latest]
15-
node: ["20"]
15+
node: ["24"]
1616
name: ALCS Frontend Tests - ${{ matrix.node }}/${{ matrix.platform }}
1717
runs-on: ${{ matrix.platform }}
1818
steps:
@@ -30,7 +30,7 @@ jobs:
3030
strategy:
3131
matrix:
3232
platform: [ubuntu-latest]
33-
node: ["20"]
33+
node: ["24"]
3434
name: Portal Frontend Tests - ${{ matrix.node }}/${{ matrix.platform }}
3535
runs-on: ${{ matrix.platform }}
3636
steps:
@@ -48,7 +48,7 @@ jobs:
4848
strategy:
4949
matrix:
5050
platform: [ubuntu-latest]
51-
node: ["20"]
51+
node: ["24"]
5252
name: API Tests - ${{ matrix.node }}/${{ matrix.platform }}
5353
runs-on: ${{ matrix.platform }}
5454
steps:

.github/workflows/coverage.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
strategy:
1212
matrix:
1313
platform: [ubuntu-latest]
14-
node: ["20"]
14+
node: ["24"]
1515
name: Coverage Report ALCS Frontend - ${{ matrix.node }}/${{ matrix.platform }}
1616
runs-on: ${{ matrix.platform }}
1717
steps:
@@ -22,7 +22,7 @@ jobs:
2222
- run: npm install
2323
- run: npm run build
2424
- run: npm run test:cov
25-
- if: matrix.node == '20'
25+
- if: matrix.node == '24'
2626
uses: actions/upload-artifact@v4
2727
with:
2828
name: coverage-alcs-frontend
@@ -36,7 +36,7 @@ jobs:
3636
strategy:
3737
matrix:
3838
platform: [ubuntu-latest]
39-
node: ["20"]
39+
node: ["24"]
4040
name: Coverage Report Portal Frontend - ${{ matrix.node }}/${{ matrix.platform }}
4141
runs-on: ${{ matrix.platform }}
4242
steps:
@@ -47,7 +47,7 @@ jobs:
4747
- run: npm install
4848
- run: npm run build
4949
- run: npm run test:cov
50-
- if: matrix.node == '20'
50+
- if: matrix.node == '24'
5151
uses: actions/upload-artifact@v4
5252
with:
5353
name: coverage-portal-frontend
@@ -61,7 +61,7 @@ jobs:
6161
strategy:
6262
matrix:
6363
platform: [ubuntu-latest]
64-
node: ["20"]
64+
node: ["24"]
6565
name: Coverage Report API - ${{ matrix.node }}/${{ matrix.platform }}
6666
runs-on: ${{ matrix.platform }}
6767
steps:
@@ -72,7 +72,7 @@ jobs:
7272
- run: npm install
7373
- run: npm run build
7474
- run: npm run test:cov
75-
- if: matrix.node == '20'
75+
- if: matrix.node == '24'
7676
uses: actions/upload-artifact@v4
7777
with:
7878
name: coverage-api

.github/workflows/e2e-test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ on:
2424
pull_request:
2525
branches:
2626
- main
27+
- develop
2728
jobs:
2829
test:
2930
name: Playwright Tests

.github/workflows/schemaspy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- uses: actions/checkout@master
2424
- uses: actions/setup-node@master
2525
with:
26-
node-version: 20
26+
node-version: 24
2727
- run: |
2828
sudo apt-get install --yes --no-install-recommends postgresql-client
2929
- run: |

.github/workflows/sonarcloud.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
npm ci
4343
npm run test:cov
4444
dir: services
45-
node_version: "22"
45+
node_version: "24"
4646
sonar_args: >
4747
-Dsonar.exclusions=**/coverage/**,**/node_modules/**,**/*spec.ts
4848
-Dsonar.organization=bcgov-sonarcloud
@@ -67,7 +67,7 @@ jobs:
6767
npm ci
6868
npm run test:cov
6969
dir: alcs-frontend
70-
node_version: "22"
70+
node_version: "24"
7171
sonar_args: >
7272
-Dsonar.exclusions=**/coverage/**,**/node_modules/**,**/*spec.ts
7373
-Dsonar.organization=bcgov-sonarcloud
@@ -92,7 +92,7 @@ jobs:
9292
npm ci
9393
npm run test:cov
9494
dir: portal-frontend
95-
node_version: "22"
95+
node_version: "24"
9696
sonar_args: >
9797
-Dsonar.exclusions=**/coverage/**,**/node_modules/**,**/*spec.ts
9898
-Dsonar.organization=bcgov-sonarcloud

e2e/pages/alcs/alcs-login-page.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ export class ALCSLoginPage {
1212
this.page = page;
1313
this.baseUrl = baseUrl;
1414
this.idirLink = page.getByRole('link', { name: 'Basic or Business BCeID' });
15-
// There is an error with the username label on BCeID page
16-
this.userIdTextbox = page.getByRole('textbox').nth(0);
15+
this.userIdTextbox = page.locator('#user');
1716
this.passwordTextbox = page.getByLabel('Password');
1817
this.continueButton = page.getByRole('button', { name: 'Continue' });
1918
}
@@ -23,7 +22,16 @@ export class ALCSLoginPage {
2322
}
2423

2524
async login(username: string, password: string) {
26-
await this.idirLink.click();
25+
// Click IDIR link and wait for navigation to external auth service
26+
// Use domcontentloaded since external auth services can be slow
27+
await Promise.all([
28+
this.page.waitForURL('**/auth/**', { timeout: 30000, waitUntil: 'domcontentloaded' }),
29+
this.idirLink.click(),
30+
]);
31+
32+
// Wait for login form to be ready
33+
await this.userIdTextbox.waitFor({ state: 'visible', timeout: 30000 });
34+
2735
await this.userIdTextbox.fill(username);
2836
await this.passwordTextbox.fill(password);
2937
await this.continueButton.click();

e2e/pages/portal/parcels-page.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ export class ParcelsPage {
168168
await this.ownerSaveButton.click();
169169

170170
// Wait for dialog to disappear
171-
await expect(this.ownerAddDialog).toBeHidden();
171+
await this.ownerAddDialog.waitFor({ state: 'hidden', timeout: 5000 });
172172
}
173173

174174
// Actions

e2e/pages/portal/portal-login-page.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ export class PortalLoginPage {
1212
this.page = page;
1313
this.baseUrl = baseUrl;
1414
this.loginButton = page.getByRole('button', { name: 'Portal Login' });
15-
// There is an error with the username label on BCeID page
16-
this.userIdTextbox = page.getByRole('textbox').nth(0);
15+
this.userIdTextbox = page.locator('#user');
1716
this.passwordTextbox = page.getByLabel('Password');
1817
this.continueButton = page.getByRole('button', { name: 'Continue' });
1918
}
@@ -23,7 +22,16 @@ export class PortalLoginPage {
2322
}
2423

2524
async logIn(username: string, password: string) {
26-
await this.loginButton.click();
25+
// Click login and wait for navigation to external auth service
26+
// Use domcontentloaded since external auth services can be slow
27+
await Promise.all([
28+
this.page.waitForURL('**/auth/**', { timeout: 30000, waitUntil: 'domcontentloaded' }),
29+
this.loginButton.click(),
30+
]);
31+
32+
// Wait for login form to be ready
33+
await this.userIdTextbox.waitFor({ state: 'visible', timeout: 30000 });
34+
2735
await this.userIdTextbox.fill(username);
2836
await this.passwordTextbox.fill(password);
2937
await this.continueButton.click();

e2e/playwright.config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ export default defineConfig({
3030

3131
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
3232
trace: 'on-first-retry',
33+
34+
/* Increase timeouts for external auth services which can be slow */
35+
navigationTimeout: 30000,
36+
actionTimeout: 30000,
3337
},
3438

3539
/* Configure projects for major browsers */

0 commit comments

Comments
 (0)