27 lines
964 B
Python
27 lines
964 B
Python
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"])
|