diff --git a/.github/workflows/deploy-production.yml b/.github/workflows/deploy-production.yml index 0b3c37486..042413e6e 100644 --- a/.github/workflows/deploy-production.yml +++ b/.github/workflows/deploy-production.yml @@ -244,7 +244,7 @@ jobs: APPT_LOGIN_PWORD: ${{ secrets.E2E_APPT_PROD_LOGIN_PASSWORD }} APPT_DISPLAY_NAME: ${{ secrets.E2E_APPT_PROD_DISPLAY_NAME }} APPT_MY_SHARE_LINK: ${{ secrets.E2E_APPT_PROD_MY_SHARE_LINK }} - APPT_BOOKING_REQUESTER_EMAIL: ${{ secrets.E2E_APPT_PROD_BOOKING_REQUESTER_EMAIL }} + APPT_BOOKEE_EMAIL: ${{ secrets.E2E_APPT_PROD_BOOKEE_EMAIL }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/nightly-tests.yml b/.github/workflows/nightly-tests.yml index 5f8d8a527..6390dbd80 100644 --- a/.github/workflows/nightly-tests.yml +++ b/.github/workflows/nightly-tests.yml @@ -24,7 +24,7 @@ jobs: APPT_LOGIN_PWORD: ${{ secrets.E2E_APPT_PROD_LOGIN_PASSWORD }} APPT_DISPLAY_NAME: ${{ secrets.E2E_APPT_PROD_DISPLAY_NAME }} APPT_MY_SHARE_LINK: ${{ secrets.E2E_APPT_PROD_MY_SHARE_LINK }} - APPT_BOOKING_REQUESTER_EMAIL: ${{ secrets.E2E_APPT_PROD_BOOKING_REQUESTER_EMAIL }} + APPT_BOOKEE_EMAIL: ${{ secrets.E2E_APPT_PROD_BOOKEE_EMAIL }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 0cb04fc24..17d1db47f 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -192,3 +192,43 @@ jobs: - name: Test with vitest run: | cd ./frontend && npm run test -- --run + + e2e-tests-browserstack: + name: e2e-tests-browserstack + needs: detect-changes + if: needs.detect-changes.outputs.validate-frontend == 'true' || needs.detect-changes.outputs.validate-backend == 'true' + runs-on: ubuntu-latest + environment: staging + env: + APPT_LOGIN_EMAIL: ${{ secrets.E2E_APPT_STAGE_LOGIN_EMAIL }} + APPT_LOGIN_PWORD: ${{ secrets.E2E_APPT_STAGE_LOGIN_PASSWORD }} + APPT_DISPLAY_NAME: ${{ secrets.E2E_APPT_STAGE_DISPLAY_NAME }} + APPT_MY_SHARE_LINK: ${{ secrets.E2E_APPT_STAGE_MY_SHARE_LINK }} + APPT_BOOKEE_EMAIL: ${{ secrets.E2E_APPT_STAGE_BOOKEE_EMAIL }} + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'npm' + cache-dependency-path: 'test/e2e/package-lock.json' + + - name: Install dependencies + run: | + cd ./test/e2e + npm install + + - name: BrowserStack Env Setup + uses: browserstack/github-actions/setup-env@master + with: + username: ${{ secrets.BROWSERSTACK_USERNAME }} + access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }} + project-name: 'Thunderbird Appointment' + build-name: 'E2E Tests: BUILD_INFO' + + - name: Run E2E Tests on Browserstack + run: | + cd ./test/e2e + cp .env.stage.example .env + npm run e2e-test-browserstack-gha diff --git a/frontend/.env.example b/frontend/.env.example index 402a2bb28..338eebed9 100644 --- a/frontend/.env.example +++ b/frontend/.env.example @@ -3,7 +3,7 @@ # -- Frontend -- VITE_BASE_URL=localhost:8080 VITE_SHORT_BASE_URL=http://localhost:8080/user -# Set true to activate polling for dev server +# Set true to activate polling for dev server VITE_SERVER_WATCH_POLLING= VITE_SERVER_WATCH_INTERVAL= VITE_SERVER_WATCH_BINARY_INTERVAL= @@ -34,4 +34,3 @@ VITE_DEFAULT_HOUR_FORMAT=12 # You could use a url or a mailto: email address. VITE_SUPPORT_URL= - diff --git a/frontend/src/App.vue b/frontend/src/App.vue index e1e3e5a69..6e6a18db0 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -33,7 +33,6 @@ const apiUrl = inject(apiUrlKey); const route = useRoute(); const routeName = typeof route.name === 'string' ? route.name : ''; const router = useRouter(); -const lang = defaultLocale(); const siteNotificationStore = useSiteNotificationStore(); const { @@ -166,7 +165,7 @@ const onPageLoad = async () => { resolution: deviceRes, effective_resolution: effectiveDeviceRes, user_agent: navigator.userAgent, - locale: lang, + locale: defaultLocale(), }).json(); const { data } = response; diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 7bbabe290..768e1e531 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -450,7 +450,7 @@ "recipientsCanScheduleBetween": "Recipients can schedule a {duration} appointment between {earliest} and {farthest} ahead of time.", "redirectedNotice": "You are being redirected to {url}.", "refreshLinkNotice": "This refreshes your link. Your old links will no longer work.", - "requestInformationSentToOwner": "An information about this booking request has been emailed to the owner.", + "requestInformationSentToOwner": "Information about this booking request has been emailed to the owner.", "scheduleSettings": { "clickHereToConnect": "Click here to connect a calendar!", "create": "Select a calendar under Scheduling details and click save to get started!", diff --git a/frontend/src/views/ProfileView.vue b/frontend/src/views/ProfileView.vue index 406e9d4c5..f5bbdc07e 100644 --- a/frontend/src/views/ProfileView.vue +++ b/frontend/src/views/ProfileView.vue @@ -1,5 +1,5 @@