feat: exclude hidden transactions from Top Category %, show Top Category % based on share of absolute money flow #246
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| name: Test Python ${{ matrix.python-version }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| - name: Install dependencies | |
| run: | | |
| uv sync | |
| - name: Check code formatting (ruff format) | |
| run: | | |
| uv run ruff format --check moneyflow/ tests/ | |
| - name: Run linting (ruff check) | |
| run: | | |
| uv run ruff check moneyflow/ tests/ | |
| - name: Run type checker (pyright) | |
| run: | | |
| uv run pyright moneyflow/ | |
| - name: Run tests with coverage | |
| run: | | |
| uv run pytest --cov --cov-report=xml --cov-report=term-missing | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| if: matrix.python-version == '3.11' | |
| with: | |
| file: ./coverage.xml | |
| fail_ci_if_error: false | |
| - name: Test summary | |
| run: | | |
| echo "✅ All tests passed on Python ${{ matrix.python-version }}" >> $GITHUB_STEP_SUMMARY | |
| test-gql-versions: | |
| name: Test gql ${{ matrix.gql-version }} (Python 3.13) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Test against multiple gql versions to ensure version detection works | |
| gql-version: ["3.4.0", "3.5.0", "4.0.0"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.13 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| - name: Install dependencies with specific gql version | |
| run: | | |
| uv sync | |
| # Override gql version | |
| uv pip install "gql[all]==${{ matrix.gql-version }}" | |
| - name: Display installed gql version | |
| run: | | |
| uv run python -c "import gql; print(f'Installed gql version: {gql.__version__}')" | |
| - name: Run gql version detection tests | |
| run: | | |
| uv run pytest tests/test_gql_version_detection.py -v -s | |
| - name: Test summary | |
| run: | | |
| echo "✅ gql version detection tests passed with gql ${{ matrix.gql-version }}" >> $GITHUB_STEP_SUMMARY |