from pathlib import Path from src.models import ComdirectCreditCard, ComdirectDepot, ComdirectGiro from src.reader import reader_comdirect from src.settings.account_ingest import ACCOUNT_INGESTION_FUNCTIONS def test_reader_comdirect(): bank_name = "comdirect" assert bank_name in ACCOUNT_INGESTION_FUNCTIONS test_path = Path(".local/data/comdirect/umsaetze_9773063005_20260906-2043.csv") assert test_path.exists() data = reader_comdirect(test_path) assert data assert len(data) == len(ACCOUNT_INGESTION_FUNCTIONS.get(bank_name)) assert set(data) == set(ACCOUNT_INGESTION_FUNCTIONS.get(bank_name)) 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"])