diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index a5423f7bb8..e6e316f248 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -8,6 +8,16 @@ on: options: - https://alcs-dev-portal.apps.silver.devops.gov.bc.ca - https://alcs-test-portal.apps.silver.devops.gov.bc.ca + alcsBaseUrl: + type: choice + description: ALCS Base URL + options: + - https://alcs-dev.apps.silver.devops.gov.bc.ca + - https://alcs-test.apps.silver.devops.gov.bc.ca + branch: + type: string + description: 'Branch to checkout' + default: 'develop' schedule: # 5:23 am daily - cron: "23 5 * * *" @@ -19,7 +29,7 @@ jobs: - uses: actions/checkout@v4 with: # This does not need to align with URL - ref: develop + ref: ${{ inputs.branch || 'develop' }} - uses: actions/setup-node@v4 - name: Install dependencies working-directory: ./e2e @@ -32,6 +42,7 @@ jobs: env: # Default to dev PORTAL_BASE_URL: ${{ inputs.portalBaseUrl || 'https://alcs-dev-portal.apps.silver.devops.gov.bc.ca' }} + ALCS_BASE_URL: ${{ inputs.alcsBaseUrl || 'https://alcs-dev.apps.silver.devops.gov.bc.ca' }} BCEID_BASIC_USERNAME: ${{ secrets.BCEID_BASIC_USERNAME }} BCEID_BASIC_PASSWORD: ${{ secrets.BCEID_BASIC_PASSWORD }} run: npx playwright test diff --git a/alcs-frontend/package-lock.json b/alcs-frontend/package-lock.json index 7dedc4380f..9fc888dd33 100644 --- a/alcs-frontend/package-lock.json +++ b/alcs-frontend/package-lock.json @@ -24,6 +24,7 @@ "@bcgov/bc-sans": "^2.1.0", "@ng-matero/extensions": "^17.2.0", "@ng-select/ng-option-highlight": "^12.0.6", + "@types/validator": "^13.12.0", "angular-mentions": "^1.5.0", "jwt-decode": "^4.0.0", "moment": "^2.30.1", @@ -32,6 +33,7 @@ "rxjs": "~7.8.1", "source-map-support": "^0.5.21", "tslib": "^2.6.2", + "validator": "^13.12.0", "zone.js": "~0.14.4" }, "devDependencies": { @@ -6177,6 +6179,11 @@ "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true }, + "node_modules/@types/validator": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==" + }, "node_modules/@types/ws": { "version": "8.5.10", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", @@ -7620,12 +7627,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -8981,9 +8988,9 @@ "dev": true }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, "dependencies": { "jake": "^10.8.5" @@ -9921,9 +9928,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -17678,6 +17685,14 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/validator": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -18692,9 +18707,9 @@ } }, "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "engines": { "node": ">=10.0.0" diff --git a/alcs-frontend/package.json b/alcs-frontend/package.json index 65ac923cc5..028226ffa2 100644 --- a/alcs-frontend/package.json +++ b/alcs-frontend/package.json @@ -30,6 +30,7 @@ "@bcgov/bc-sans": "^2.1.0", "@ng-matero/extensions": "^17.2.0", "@ng-select/ng-option-highlight": "^12.0.6", + "@types/validator": "^13.12.0", "angular-mentions": "^1.5.0", "jwt-decode": "^4.0.0", "moment": "^2.30.1", @@ -38,6 +39,7 @@ "rxjs": "~7.8.1", "source-map-support": "^0.5.21", "tslib": "^2.6.2", + "validator": "^13.12.0", "zone.js": "~0.14.4" }, "devDependencies": { diff --git a/alcs-frontend/src/app/features/admin/local-government/dialog/local-government-dialog.component.html b/alcs-frontend/src/app/features/admin/local-government/dialog/local-government-dialog.component.html index c994769009..5b266119a9 100644 --- a/alcs-frontend/src/app/features/admin/local-government/dialog/local-government-dialog.component.html +++ b/alcs-frontend/src/app/features/admin/local-government/dialog/local-government-dialog.component.html @@ -60,8 +60,10 @@