diff --git a/.env b/.env index 1ab1f6628ca..a86e9a734f9 100755 --- a/.env +++ b/.env @@ -115,8 +115,8 @@ E2E_TEST_ACCOUNT_EMAIL_ZERO_BROKERS= E2E_TEST_ACCOUNT_EMAIL_ZERO_BREACHES_ZERO_BROKERS= E2E_TEST_ACCOUNT_EMAIL_EXPOSURES_STARTED= -E2E_TEST_PAYPAL_LOGIN = -E2E_TEST_PAYPAL_PASSWORD = +E2E_TEST_PAYPAL_LOGIN= +E2E_TEST_PAYPAL_PASSWORD= # Monitor Premium features # Link to start user on the subscription process. PREMIUM_ENABLED must be set to `true`. diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml deleted file mode 100644 index 88b41611de9..00000000000 --- a/.github/workflows/build.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: Build - -on: - pull_request: - types: [closed] - -jobs: - npm-build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - name: Use Node.js - uses: actions/setup-node@v4 - with: - node-version: '22.6.x' - - run: npm ci - - run: npm run build-glean - # Verify that the build (incl. type-checking) succeeds - # Upload sourcemaps to Sentry - - run: npm run build diff --git a/.github/workflows/conflicts.yml b/.github/workflows/conflicts.yml deleted file mode 100644 index 60d77098313..00000000000 --- a/.github/workflows/conflicts.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: No unresolved conflicts -on: - pull_request: - branches: [ main, localization ] -jobs: - detect-unresolved-conflicts: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: List files with merge conflict markers - # Encode conflict markers so this file does not trigger git's conflict detection. - run: git --no-pager grep "$(echo 'PDw8PDw8PAo=' | base64 -d)" ":(exclude).github/" || true - - name: Fail or succeed job if any files with merge conflict markers have been checked in - # Find lines containing conflict markers then count the number of lines. - # 0 matching lines results in exit code 0, i.e. success. - run: exit $(git grep "$(echo 'PDw8PDw8PAo=' | base64 -d)" ":(exclude).github/" | wc --lines) diff --git a/.github/workflows/docker_build_deploy.yml b/.github/workflows/docker_build_deploy.yml deleted file mode 100644 index c235a37807f..00000000000 --- a/.github/workflows/docker_build_deploy.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Build Docker image and publish - -on: - pull_request: - types: [closed] -jobs: - push_to_registry: - name: Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Check out the repo - uses: actions/checkout@v4 - - - name: Log in to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 - with: - images: mozilla/blurts-server - tags: | - type=semver,pattern={{raw}} - type=raw,value={{sha}},event=tag - - - name: Create version.json - run: | - echo "{\"commit\":\"$GITHUB_SHA\",\"version\":\"$GITHUB_REF\",\"source\":\"https://github.com/$GITHUB_REPOSITORY\",\"build\":\"$GITHUB_RUN_ID\"}" > version.json - - - name: Build Docker image - env: - UPLOAD_SENTRY_SOURCEMAPS: true - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - run: | - docker build --tag blurts-server \ - --build-arg SENTRY_RELEASE="$GITHUB_REF_NAME" \ - . - - - name: Deploy to Dockerhub - env: - DOCKERHUB_REPO: ${{ env.DOCKERHUB_REPO }} - run: | - # deploy main - docker tag blurts-server ${{ steps.meta.outputs.tags }} - docker push ${{ steps.meta.outputs.tags }} - diff --git a/.github/workflows/docker_check.yml b/.github/workflows/docker_check.yml deleted file mode 100644 index 214f7667391..00000000000 --- a/.github/workflows/docker_check.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Build Docker image check -on: - pull_request: - types: [closed] -jobs: - docker_build: - name: Build Docker image - runs-on: ubuntu-latest - steps: - - name: Check out the repo - uses: actions/checkout@v4 - - - name: Build Docker image - run: docker build . - diff --git a/.github/workflows/e2e_cron.yml b/.github/workflows/e2e_cron.yml index fd6b763836d..d3e91705a7b 100644 --- a/.github/workflows/e2e_cron.yml +++ b/.github/workflows/e2e_cron.yml @@ -48,7 +48,7 @@ jobs: run: npm run e2e timeout-minutes: 40 env: - E2E_TEST_ENV: ${{ inputs.environment != null && inputs.environment || 'local' }} + E2E_TEST_ENV: ${{ inputs.environment != null && inputs.environment || 'stage' }} E2E_TEST_BASE_URL: ${{ secrets.E2E_TEST_BASE_URL }} E2E_TEST_ACCOUNT_EMAIL: ${{ secrets.E2E_TEST_ACCOUNT_EMAIL }} E2E_TEST_ACCOUNT_PASSWORD: ${{ secrets.E2E_TEST_ACCOUNT_PASSWORD }} @@ -78,7 +78,7 @@ jobs: retention-days: 30 - name: Send GitHub Action trigger data to Slack workflow id: slack - uses: slackapi/slack-github-action@v1.27.0 + uses: slackapi/slack-github-action@v1.26.0 if: failure() && github.ref == 'refs/heads/main' with: # For posting a message using Block Kit @@ -89,7 +89,7 @@ jobs: "type": "section", "text": { "type": "mrkdwn", - "text": "*Link to job:* **" + "text": "*Link to job:* **" } }, { diff --git a/.github/workflows/e2e_pr_full.yml b/.github/workflows/e2e_pr_full.yml index ac99044c264..9d3ee090de7 100644 --- a/.github/workflows/e2e_pr_full.yml +++ b/.github/workflows/e2e_pr_full.yml @@ -42,7 +42,6 @@ jobs: PLAYWRIGHT_VERSION=$(npx playwright --version | sed 's/Version //') echo "Playwright Version: $PLAYWRIGHT_VERSION" echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_VERSION" >> $GITHUB_ENV - - name: Cache Playwright Browsers for Playwright's Version id: cache-playwright-browsers uses: actions/cache@v4 @@ -59,21 +58,28 @@ jobs: run: npm run e2e timeout-minutes: 40 env: - E2E_TEST_ENV: ${{ inputs.environment != null && inputs.environment || 'local' }} - E2E_TEST_BASE_URL: ${{ secrets.E2E_TEST_BASE_URL }} + E2E_TEST_ENV: local + E2E_TEST_BASE_URL: http://localhost:6060 E2E_TEST_ACCOUNT_EMAIL: ${{ secrets.E2E_TEST_ACCOUNT_EMAIL }} - E2E_TEST_ACCOUNT_PASSWORD: ${{ secrets.E2E_TEST_ACCOUNT_PASSWORD }} E2E_TEST_ACCOUNT_EMAIL_ZERO_BREACHES: ${{ secrets.E2E_TEST_ACCOUNT_EMAIL_ZERO_BREACHES }} E2E_TEST_ACCOUNT_EMAIL_EXPOSURES_STARTED: ${{ secrets.E2E_TEST_ACCOUNT_EMAIL_EXPOSURES_STARTED }} - E2E_TEST_PAYPAL_LOGIN: ${{ secrets.E2E_TEST_PAYPAL_LOGIN }} + E2E_TEST_ACCOUNT_PASSWORD: ${{ secrets.E2E_TEST_ACCOUNT_PASSWORD }} + E2E_TEST_PAYPAL_LOGIN: ${{ secrets.E2E_TEST_PAYPAL_LOGIN }} E2E_TEST_PAYPAL_PASSWORD: ${{ secrets.E2E_TEST_PAYPAL_PASSWORD }} ADMINS: ${{ secrets.ADMINS }} - OAUTH_CLIENT_SECRET: ${{ secrets.OAUTH_CLIENT_SECRET }} + OAUTH_CLIENT_SECRET: ${{ secrets.OAUTH_CLIENT_SECRET_LOCAL }} + OAUTH_ACCOUNT_URI: ${{ secrets.OAUTH_ACCOUNT_URI }} ONEREP_API_KEY: ${{ secrets.ONEREP_API_KEY }} NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }} NEXTAUTH_URL: ${{ secrets.NEXTAUTH_URL }} + DATABASE_URL: postgres://postgres:postgres@localhost:5432/blurts HIBP_KANON_API_TOKEN: ${{ secrets.HIBP_KANON_API_TOKEN }} HIBP_API_TOKEN: ${{ secrets.HIBP_API_TOKEN }} + HIBP_KANON_API_ROOT: "http://localhost:6060/api/mock/hibp" + ONEREP_API_BASE: "http://localhost:6060/api/mock/onerep/" + # MNTOR-3516: Our tests are currently set up to expect accounts to act like + # old user accounts, so let's pretend they all are: + BROKER_SCAN_RELEASE_DATE: "3000-12-31" REDIS_URL: "redis://redis.mock" - uses: actions/upload-artifact@v4 if: always() diff --git a/.github/workflows/e2e_pr_smoke.yml b/.github/workflows/e2e_pr_smoke.yml index 35df9fef3b9..6400e2acd58 100644 --- a/.github/workflows/e2e_pr_smoke.yml +++ b/.github/workflows/e2e_pr_smoke.yml @@ -42,7 +42,6 @@ jobs: PLAYWRIGHT_VERSION=$(npx playwright --version | sed 's/Version //') echo "Playwright Version: $PLAYWRIGHT_VERSION" echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_VERSION" >> $GITHUB_ENV - - name: Cache Playwright Browsers for Playwright's Version id: cache-playwright-browsers uses: actions/cache@v4 @@ -65,7 +64,7 @@ jobs: E2E_TEST_ACCOUNT_EMAIL_ZERO_BREACHES: ${{ secrets.E2E_TEST_ACCOUNT_EMAIL_ZERO_BREACHES }} E2E_TEST_ACCOUNT_EMAIL_EXPOSURES_STARTED: ${{ secrets.E2E_TEST_ACCOUNT_EMAIL_EXPOSURES_STARTED }} E2E_TEST_ACCOUNT_PASSWORD: ${{ secrets.E2E_TEST_ACCOUNT_PASSWORD }} - E2E_TEST_PAYPAL_LOGIN: ${{ secrets.E2E_TEST_PAYPAL_LOGIN }} + E2E_TEST_PAYPAL_LOGIN: ${{ secrets.E2E_TEST_PAYPAL_LOGIN }} E2E_TEST_PAYPAL_PASSWORD: ${{ secrets.E2E_TEST_PAYPAL_PASSWORD }} ADMINS: ${{ secrets.ADMINS }} OAUTH_CLIENT_SECRET: ${{ secrets.OAUTH_CLIENT_SECRET_LOCAL }} diff --git a/.github/workflows/glean-probe-scraper.yml b/.github/workflows/glean-probe-scraper.yml deleted file mode 100644 index 47f97fd430e..00000000000 --- a/.github/workflows/glean-probe-scraper.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Glean probe-scraper -on: - push: - paths: - - src/telemetry/metrics.yaml - - src/telemetry/backend-metrics.yaml - pull_request: - paths: - - src/telemetry/metrics.yaml - - src/telemetry/backend-metrics.yaml -jobs: - glean-probe-scraper: - uses: mozilla/probe-scraper/.github/workflows/glean.yaml@main \ No newline at end of file diff --git a/.github/workflows/preview_deploy_gcp.yml b/.github/workflows/preview_deploy_gcp.yml deleted file mode 100644 index 9115a1a72a0..00000000000 --- a/.github/workflows/preview_deploy_gcp.yml +++ /dev/null @@ -1,93 +0,0 @@ -name: Deploy Preview - -on: - pull_request: - types: [closed] - -env: - PROJECT_ID: ${{ secrets.GCP_PROJECT }} - SERVICE: blurts-server - REGION: us-east4 - TAG: pr-${{ github.event.pull_request.number }} - DB_HOST: ${{ secrets.PREVIEW_DB_HOST }} - -jobs: - deploy: - permissions: - pull-requests: write - # Secrets aren't available for Dependabot PR (because the updated - # dependencies might abuse them), so they don't have enough rights to - # do a preview deployment: - if: github.actor != 'dependabot[bot]' - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Cloud SDK - uses: 'google-github-actions/auth@v2' - with: - credentials_json: '${{ secrets.GCP_SA_KEY }}' - - - name: Use gcloud CLI - run: gcloud info - - - name: Generate database on the fly - id: db_create - # This can fail on the subsequent runs, we can ignore the error (database already exists) - continue-on-error: true - run: | - gcloud sql instances create ${{ env.SERVICE }}-${{ env.TAG }} --tier=db-f1-micro --region=${{ env.REGION }} --database-version=POSTGRES_15 --edition=enterprise - gcloud sql users set-password postgres --host=% --instance ${{ env.SERVICE }}-${{ env.TAG }} --password postgres - gcloud sql databases create blurts --instance=${{ env.SERVICE }}-${{ env.TAG }} - gcloud sql databases list --instance=${{ env.SERVICE }}-${{ env.TAG }} - gcloud sql instances list - - - name: Authorize Docker push - run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev - - - name: Build and Push Container - run: |- - docker build -t ${{env.REGION}}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}/${{ env.SERVICE }}:${{ env.TAG }} -f './Dockerfile.cloudrun' . - docker push ${{env.REGION}}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}/${{ env.SERVICE }}:${{ env.TAG }} - - - name: Deploy to Cloud Run - id: deploy - uses: google-github-actions/deploy-cloudrun@v2 - with: - service: ${{ env.SERVICE }}-${{ env.TAG }} - image: ${{env.REGION}}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}/${{ env.SERVICE }}:${{ env.TAG }} - region: ${{ env.REGION }} - flags: "--allow-unauthenticated --add-cloudsql-instances=${{ env.PROJECT_ID }}:${{env.REGION}}:${{ env.SERVICE }}-${{ env.TAG }}" - # tag: ${{ env.TAG }} - env_vars: | - NEXTAUTH_URL= ${{ secrets.NEXTAUTH_URL }} - NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }} - OAUTH_ACCOUNT_URI=${{ secrets.OAUTH_ACCOUNT_URI }} - OAUTH_CLIENT_ID=${{ secrets.OAUTH_CLIENT_ID }} - OAUTH_CLIENT_SECRET=${{ secrets.OAUTH_CLIENT_SECRET }} - ONEREP_API_KEY=${{ secrets.ONEREP_API_KEY }} - APP_ENV=cloudrun - COOKIE_SECRET=secret - PG_HOST=/cloudsql/${{ env.PROJECT_ID }}:${{env.REGION}}:${{ env.SERVICE }}-${{ env.TAG }} - ADMINS=${{ secrets.ADMINS }} - HIBP_API_TOKEN=${{ secrets.HIBP_API_TOKEN }} - HIBP_KANON_API_TOKEN=${{ secrets.HIBP_KANON_API_TOKEN }} - AUTH_REDIRECT_PROXY_URL=${{ secrets.AUTH_REDIRECT_PROXY_URL }} - PGUSER=postgres - PGDATABASE=postgres - DB_NAME=blurts - DB_USER=postgres - DB_PASSWORD=postgres - CLOUD_SQL_CONNECTION_NAME=${{ env.PROJECT_ID }}:${{env.REGION}}:${{ env.SERVICE }}-${{ env.TAG }} - DATABASE_URL= postgres://postgres:postgres@localhost:5432/blurts - - - name: Comment on Pull Request - uses: thollander/actions-comment-pull-request@v2 - with: - GITHUB_TOKEN: ${{ github.token }} - message: | - Preview URL :rocket: : ${{ steps.deploy.outputs.url }} - comment_tag: preview_url - create_if_not_exists: true - diff --git a/.github/workflows/preview_deploy_gcp_cleanup.yml b/.github/workflows/preview_deploy_gcp_cleanup.yml deleted file mode 100644 index 83acc461453..00000000000 --- a/.github/workflows/preview_deploy_gcp_cleanup.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Deploy Preview Cleanup - -on: - # when pull request is merged or closed - pull_request: - types: [closed] - -env: - PROJECT_ID: ${{ secrets.GCP_PROJECT }} - SERVICE: blurts-server - REGION: us-east4 - TAG: pr-${{ github.event.pull_request.number }} - DB_HOST: ${{ secrets.PREVIEW_DB_HOST }} - -jobs: - deploy: - permissions: - pull-requests: write - # Secrets aren't available for Dependabot PR (because the updated - # dependencies might abuse them), so they don't have enough rights to - # do a preview deployment: - if: github.actor != 'dependabot[bot]' - runs-on: ubuntu-latest - steps: - - name: Setup Cloud SDK - uses: 'google-github-actions/auth@v2' - with: - credentials_json: '${{ secrets.GCP_SA_KEY }}' - - - name: Use gcloud CLI - run: 'gcloud info' - - - name: Delete created database - id: db_delete - # Delete cloud sql instance - run: 'gcloud sql instances delete blurts-server-${{ env.TAG }}' - - - name: Delete created cloud run service - id: cloudrun_delete - run: gcloud run services delete blurts-server-${{ env.TAG }} --region ${{ env.REGION }} --platform managed --quiet - - - name: Comment on Pull Request - uses: thollander/actions-comment-pull-request@v2 - with: - GITHUB_TOKEN: ${{ github.token }} - message: Cleanup completed - database 'blurts-server-${{ env.TAG }}' destroyed, cloud run service 'blurts-server-${{ env.TAG }}' destroyed diff --git a/.github/workflows/production_deploy.yml b/.github/workflows/production_deploy.yml deleted file mode 100644 index 093a3ba512d..00000000000 --- a/.github/workflows/production_deploy.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Monitor 1-click Deployment -on: - workflow_dispatch: - inputs: - environment: - description: 'Environment to deploy to' - required: true - default: 'prod' - type: choice - options: - - stage - - prod - originalImageTag: - description: 'The original image tag that has been deployed to dockerhub' - required: true - type: string -env: - DOCKER_IMAGE_NAME: mozilla/blurts-server -jobs: - pull_retag_push: - name: Push Docker image to Docker Hub - runs-on: ubuntu-latest - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - - - name: Log in to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Pull Docker image - run: docker pull ${{ env.DOCKER_IMAGE_NAME }}:${{ inputs.originalImageTag }} - - - name: Retag image - run: docker tag ${{ env.DOCKER_IMAGE_NAME }}:${{ inputs.originalImageTag }} ${{ env.DOCKER_IMAGE_NAME }}:${{ inputs.environment }}-${{ inputs.originalImageTag }} - - - name: Redeploy image - run: docker push ${{ env.DOCKER_IMAGE_NAME }}:${{ inputs.environment }}-${{ inputs.originalImageTag }} \ No newline at end of file diff --git a/.github/workflows/reference_linter.yaml b/.github/workflows/reference_linter.yaml deleted file mode 100644 index 0355144fb89..00000000000 --- a/.github/workflows/reference_linter.yaml +++ /dev/null @@ -1,25 +0,0 @@ -name: Lint Reference Files -on: - pull_request: - types: [closed] -jobs: - l10n-lint: - runs-on: ubuntu-latest - steps: - - name: Clone repository - uses: actions/checkout@v4 - - name: Set up Python 3 - uses: actions/setup-python@v5 - with: - python-version: '3.10' - cache: 'pip' - - name: Install Python dependencies - run: | - pip install -r .github/requirements.txt - - name: Lint reference strings - run: | - moz-fluent-lint ./locales/en/ --config .github/linter_config.yml - - name: Lint pending strings - if: always() # This step should run even if the previous one fails - run: | - moz-fluent-lint ./locales-pending/ --config .github/linter_config.yml diff --git a/.github/workflows/release_retag.yaml b/.github/workflows/release_retag.yaml deleted file mode 100644 index a9b6d38b2ae..00000000000 --- a/.github/workflows/release_retag.yaml +++ /dev/null @@ -1,36 +0,0 @@ -name: Retag and Push Docker Image on Release -# GH release should always create a tag automatically -on: - push: - tags: - - '*' - -jobs: - retag-and-push: - runs-on: ubuntu-latest - - steps: - - name: Check out the repo - uses: actions/checkout@v4 - - - name: Log in to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 - with: - images: mozilla/blurts-server - tags: type=sha,format=short,prefix= - - - name: Pull Docker image with commit tag - run: docker pull ${{ steps.meta.outputs.tags }} - - - name: Tag Docker image with release tag - run: docker tag ${{ steps.meta.outputs.tags }} mozilla/blurts-server:${{ github.ref_name }} - - - name: Push Docker image with release tag - run: docker push mozilla/blurts-server:${{ github.ref_name }} diff --git a/.github/workflows/unittests.yaml b/.github/workflows/unittests.yaml deleted file mode 100644 index b8ef110377a..00000000000 --- a/.github/workflows/unittests.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: Unit Tests - -on: - pull_request: - types: [closed] - -jobs: - unit-tests: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - name: Use Node.js - uses: actions/setup-node@v4 - with: - node-version: '22.6.x' - - run: npm ci - - run: npm run build-glean - - run: npm test - - uses: actions/upload-artifact@v4 - if: failure() - with: - name: coverage-report - path: coverage/ - retention-days: 30 diff --git a/playwright.config.js b/playwright.config.js index 1c3039b2b66..d954b1f4503 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -68,8 +68,7 @@ export default defineConfig({ actionTimeout: 0, /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: process.env.E2E_TEST_BASE_URL ?? 'https://stage.firefoxmonitor.nonprod.cloudops.mozgcp.net', - // baseURL: 'http://localhost:6060', + baseURL: process.env.E2E_TEST_BASE_URL, /* automatically take screenshot only on failures */ screenshot: 'only-on-failure', diff --git a/src/e2e/pages/purchasePage.ts b/src/e2e/pages/purchasePage.ts index 2892c736f75..3c1b15659de 100644 --- a/src/e2e/pages/purchasePage.ts +++ b/src/e2e/pages/purchasePage.ts @@ -124,7 +124,7 @@ export class PurchasePage { (await this.planDetails.textContent()) as string, ); expect(planDetails).toContain( - `${process.env.E2E_TEST_ENV === "prod" ? "yearly" : "every 2 months"}`, + `${process.env.E2E_TEST_ENV === "local" ? "every 2 months" : "yearly"}`, ); } diff --git a/src/e2e/specs/auth.spec.ts b/src/e2e/specs/auth.spec.ts index ee6a098852e..f9f6bbabb4f 100644 --- a/src/e2e/specs/auth.spec.ts +++ b/src/e2e/specs/auth.spec.ts @@ -27,7 +27,7 @@ test.describe(`${process.env.E2E_TEST_ENV} - Authentication flow verification @s await authPage.signUp(randomEmail, page); // assert successful login - const successUrl = `${process.env.E2E_TEST_BASE_URL}/user/welcome`; + const successUrl = `${process.env.E2E_TEST_BASE_URL}/user/dashboard`; expect(page.url()).toBe(successUrl); await testInfo.attach(