diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 2ac6839..28da347 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,24 +1,49 @@ name: Playwright Tests + on: push: branches: [ main ] pull_request: branches: [ main ] + jobs: + test: timeout-minutes: 60 runs-on: ubuntu-latest + steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: lts/* + - name: Install dependencies run: npm install -g pnpm && pnpm install + - name: Install Playwright Browsers run: pnpm exec playwright install --with-deps + + - name: Create .env file + run: | + echo "DATABASE_URL=${{ secrets.DATABASE_URL }}" >> .env + echo "POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" >> .env + echo "NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }}" >> .env + echo "NEXT_PUBLIC_TG_BOT_NAME=${{ secrets.NEXT_PUBLIC_TG_BOT_NAME }}" >> .env + echo "TG_BOT_TOKEN=${{ secrets.TG_BOT_TOKEN }}" >> .env + echo "FORUM_ROOT_NAME=${{ secrets.FORUM_ROOT_NAME }}" >> .env + + - name: Create .hytkybot.env file + run: | + echo "TG_BOT_TOKEN=${{ secrets.TG_BOT_TOKEN }}" >> .hytkybot.env + echo "TG_ACTIVE_GROUP_IDS=${{ secrets.TG_ACTIVE_GROUP_IDS }}" >> .hytkybot.env + echo "TG_ADMIN_GROUP_IDS=${{ secrets.TG_ADMIN_GROUP_IDS }}" >> .hytkybot.env + echo "PORT=3000" >> .hytkybot.env + - name: Run Playwright tests run: pnpm exec playwright test + - uses: actions/upload-artifact@v4 if: always() with: diff --git a/tests/index.spec.ts b/tests/index.spec.ts new file mode 100644 index 0000000..62c20c9 --- /dev/null +++ b/tests/index.spec.ts @@ -0,0 +1,8 @@ +import { test, expect } from "@playwright/test"; + +test("has title", async ({ page }) => { + await page.goto("/"); + + // Expect a title "to contain" a substring. + await expect(page).toHaveTitle(/HYTKY/); +}); \ No newline at end of file diff --git a/tests/static.finnish.spec.ts b/tests/rental.spec.ts similarity index 81% rename from tests/static.finnish.spec.ts rename to tests/rental.spec.ts index c79dcff..eb9f28a 100644 --- a/tests/static.finnish.spec.ts +++ b/tests/rental.spec.ts @@ -1,12 +1,5 @@ import { test, expect } from "@playwright/test"; -test("has title", async ({ page }) => { - await page.goto("/"); - - // Expect a title "to contain" a substring. - await expect(page).toHaveTitle(/HYTKY/); -}); - test("navigate to rental page and back", async ({ page }) => { await page.goto("/");