Spaces:
Running on Zero
Running on Zero
| """Step definitions for identity document tracking (UC6).""" | |
| from __future__ import annotations | |
| import os | |
| from typing import Any | |
| from pytest_bdd import given, scenario, then, when | |
| from vivamais.application.documents import check_identity | |
| from vivamais.domain.artifacts import IdentityDocument, IdentityKind | |
| _FEATURES_DIR = os.path.normpath( | |
| os.path.join(os.path.dirname(__file__), "..", "..", "features"), | |
| ) | |
| _context: dict[str, Any] = {} | |
| def test_passport_satisfies() -> None: | |
| """A passport satisfies the identity requirement.""" | |
| def test_cpf_not_enough() -> None: | |
| """A CPF alone is not enough.""" | |
| def given_passport() -> None: | |
| _context["documents"] = [IdentityDocument(kind=IdentityKind.PASSPORT, holder="Maria")] | |
| def given_cpf_only() -> None: | |
| _context["documents"] = [IdentityDocument(kind=IdentityKind.CPF, holder="Maria")] | |
| def when_checked() -> None: | |
| _context["result"] = check_identity(["Maria"], _context["documents"]) | |
| def then_received() -> None: | |
| assert _context["result"]["passengers"]["Maria"] == "received" | |
| def then_missing() -> None: | |
| assert _context["result"]["passengers"]["Maria"] == "missing" | |