from pathlib import Path import pytest from src.ingest.comdirect import COMDIRECT_ACCOUNT_PARSERS, reader_comdirect from src.models import ComdirectCreditCard, ComdirectDepot, ComdirectGiro TEST_DATA_PATH = ".local/data/comdirect/umsaetze_9773063005_20260906-2043.csv" @pytest.mark.skipif( not Path(TEST_DATA_PATH).exists(), reason=f"Testdaten fehlen: {TEST_DATA_PATH}", ) def test_reader_comdirect(): test_path = Path(TEST_DATA_PATH) data = reader_comdirect(test_path) assert data assert len(data) == len(COMDIRECT_ACCOUNT_PARSERS) assert set(data) == set(COMDIRECT_ACCOUNT_PARSERS) assert all(isinstance(row, ComdirectGiro) for row in data["Girokonto"]) assert all( isinstance(row, ComdirectCreditCard) for row in data["Visa-Karte (Kreditkarte)"] ) assert all(isinstance(row, ComdirectGiro) for row in data["Tagesgeld PLUS-Konto"]) assert all(isinstance(row, ComdirectDepot) for row in data["Depot"])