name: Unit Tests

on:
  push:
    branches:
      - main
    paths:
      - 'src/**.js'
      - 'test/**.test.js'
      - 'package.json'
  pull_request:
    branches:
      - main
    paths:
      - 'src/**.js'
      - 'test/**.test.js'
      - 'package.json'
  workflow_dispatch:

jobs:
  test:
    name: Unit Tests
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Install Node v16
      uses: actions/setup-node@v2
      with:
        node-version: 16
        cache: npm

    - name: Install dependencies
      run: npm ci

    - name: Run tests
      run: npm test
