# This workflow will test if running the E2E Misc tests via Playwright CLI works.
name: .NET E2E Misc Tests (Playwright)

on:
    push:
        branches: [ "main" ]
    pull_request:
        branches: [ "main" ]

jobs:
    misc-tests:
        timeout-minutes: 60
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4

            - name: Setup .NET
              uses: actions/setup-dotnet@v4
              with:
                  dotnet-version: 9.0.x

            - name: Install dependencies
              run: dotnet workload install wasm-tools

            - name: Build
              run: dotnet build

            - name: Ensure browsers are installed
              run: pwsh src/Tests/AliasVault.E2ETests/bin/Debug/net9.0/playwright.ps1 install --with-deps

            - name: Run remaining tests with retry
              uses: nick-fields/retry@v3
              with:
                  timeout_minutes: 60
                  max_attempts: 3
                  command: dotnet test src/Tests/AliasVault.E2ETests --no-build --verbosity normal --filter "Category!=AdminTests&Category!=ClientTests"

            - name: Upload Test Results
              if: always()
              uses: actions/upload-artifact@v3
              with:
                  name: misc-test-results
                  path: TestResults-Misc.xml
