on:
  schedule:
  - cron: '0 */4 * * *'
  push:
    branches:
    - master
  pull_request:
    paths:
    - .github/actions/prepare/action.yml
    - .github/workflows/e2e-vitest-workflow.yml
    - scripts/e2e-setup-ci.sh

name: 'E2E Vitest'
jobs:
  chore:
    name: 'Validating Vitest'
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - uses: ./.github/actions/prepare

    - name: 'Running the integration test'
      run: |
        source scripts/e2e-setup-ci.sh

        yarn init -p
        yarn add vitest

        echo "import { it, expect } from 'vitest'; it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
        yarn vitest run pass.test.js

        echo "import { it, expect } from 'vitest'; it('should fail', () => { expect(false).toBeTruthy(); });" | tee fail.test.js
        ! yarn vitest run fail.test.js

        yarn add left-pad

        echo "import { it, expect } from 'vitest'; import leftPad from 'left-pad'; it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
        yarn vitest run module.test.js