name: tests

on: [push, pull_request]

jobs:
  poetry:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
        python-version: ["3.9"]
        poetry-version: ["1.2.1"]
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Set up Poetry ${{ matrix.poetry-version }}
        uses: abatilo/actions-poetry@v2
        with:
          poetry-version: ${{ matrix.poetry-version }}
      - name: Install dependencies
        run: |
          poetry install --with dev
        shell: bash
      - name: Run mint
        env:
          LIGHTNING: False
          MINT_PRIVATE_KEY: "testingkey"
          MINT_SERVER_HOST: 0.0.0.0
          MINT_SERVER_PORT: 3338
        run: |
          nohup poetry run mint &
      - name: Run tests
        env:
          LIGHTNING: False
          MINT_HOST: localhost
          MINT_PORT: 3338
          TOR: False
        run: |
          poetry run pytest tests --cov-report xml --cov cashu
      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v3
