Model/tests/condition/parsing/test_parsing_factory.py
Khalim Conn-Kowlessar a6b782d5b3 Select the Calico parser and mapper by file type 🟥
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 15:11:17 +00:00

51 lines
1.3 KiB
Python

import pytest
from applications.condition.condition_trigger_request import ConditionFileType
from infrastructure.condition.lookups.uprn_lookup_csv import UprnLookupLocal
from applications.condition.factory import select_parser, select_mapper
def test_selects_lbwf_parser():
# arrange
file_type = ConditionFileType.LBWF
expected_class_name = "LbwfParser"
# act
actual_class_name = select_parser(file_type).__class__.__name__
# assert
assert expected_class_name == actual_class_name
def test_selects_peabody_parser():
# arrange
file_type = ConditionFileType.Peabody
expected_class_name = "PeabodyParser"
uprn_lookup = UprnLookupLocal(csv_path="test")
# act
actual_class_name = select_parser(file_type, uprn_lookup).__class__.__name__
# assert
assert expected_class_name == actual_class_name
def test_selects_calico_parser():
# arrange
uprn_lookup = UprnLookupLocal(csv_path="test")
# act
actual_class_name = select_parser(
ConditionFileType.Calico, uprn_lookup
).__class__.__name__
# assert
assert actual_class_name == "CalicoParser"
def test_selects_calico_mapper():
# act
actual_class_name = select_mapper(ConditionFileType.Calico).__class__.__name__
# assert
assert actual_class_name == "CalicoMapper"