mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
MCS cert identified by evidence_category in get_core_file_type 🟥
This commit is contained in:
parent
5df874b978
commit
ca224515f9
3 changed files with 40 additions and 1 deletions
|
|
@ -21,6 +21,7 @@ class FileTypeEnum(enum.Enum):
|
|||
IMPROVEMENT_OPTION_EVALUATION = "improvement_option_evaluation"
|
||||
MEDIUM_TERM_IMPROVEMENT_PLAN = "medium_term_improvement_plan"
|
||||
RETROFIT_DESIGN_DOC = "retrofit_design_doc"
|
||||
MCS_CERTIFICATE = "mcs_certificate"
|
||||
OTHER = "other"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ class CoreFiles(Enum):
|
|||
IMPROVEMENT_OPTION_EVALUATION = "Improvement Option Evaluation"
|
||||
MEDIUM_TERM_IMPROVEMENT_PLAN = "Medium Term Improvement Plan"
|
||||
RETROFIT_DESIGN_DOC = "Retrofit Design Doc"
|
||||
MCS_CERTIFICATE = "MCS Certificate"
|
||||
|
||||
|
||||
_CORE_FILE_TO_FILE_TYPE: dict[CoreFiles, str] = {
|
||||
|
|
@ -32,6 +33,7 @@ _CORE_FILE_TO_FILE_TYPE: dict[CoreFiles, str] = {
|
|||
CoreFiles.IMPROVEMENT_OPTION_EVALUATION: FileTypeEnum.IMPROVEMENT_OPTION_EVALUATION.value,
|
||||
CoreFiles.MEDIUM_TERM_IMPROVEMENT_PLAN: FileTypeEnum.MEDIUM_TERM_IMPROVEMENT_PLAN.value,
|
||||
CoreFiles.RETROFIT_DESIGN_DOC: FileTypeEnum.RETROFIT_DESIGN_DOC.value,
|
||||
CoreFiles.MCS_CERTIFICATE: FileTypeEnum.MCS_CERTIFICATE.value,
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -56,6 +58,7 @@ def get_core_file_type(
|
|||
CoreFiles.RETROFIT_DESIGN_DOC,
|
||||
CoreFiles.IMPROVEMENT_OPTION_EVALUATION,
|
||||
CoreFiles.MEDIUM_TERM_IMPROVEMENT_PLAN,
|
||||
CoreFiles.MCS_CERTIFICATE,
|
||||
}
|
||||
|
||||
for core_file in CoreFiles:
|
||||
|
|
@ -68,7 +71,9 @@ def get_core_file_type(
|
|||
return None
|
||||
|
||||
|
||||
def get_file_type_string(filename: str) -> Optional[str]:
|
||||
def get_file_type_string(
|
||||
filename: str, evidence_category: Optional[str] = None
|
||||
) -> Optional[str]:
|
||||
core_file: Optional[CoreFiles] = get_core_file_type(filename)
|
||||
|
||||
if core_file is None:
|
||||
|
|
|
|||
|
|
@ -183,3 +183,36 @@ def test_core_file_for_osm_fallback_does_not_fire_when_evidence_category_present
|
|||
|
||||
# Assert
|
||||
assert result is None
|
||||
|
||||
|
||||
def test_core_file_for_mcs_compliance_certificate_returns_mcs_certificate() -> None:
|
||||
# Arrange
|
||||
filename = "MCS_cert_job123.pdf"
|
||||
|
||||
# Act
|
||||
result = get_core_file_type(filename, evidence_category="mcs compliance certificate")
|
||||
|
||||
# Assert
|
||||
assert result == CoreFiles.MCS_CERTIFICATE
|
||||
|
||||
|
||||
def test_core_file_for_mcs_compliance_certificate_is_case_insensitive() -> None:
|
||||
# Arrange
|
||||
filename = "some_cert.pdf"
|
||||
|
||||
# Act
|
||||
result = get_core_file_type(filename, evidence_category="MCS Compliance Certificate")
|
||||
|
||||
# Assert
|
||||
assert result == CoreFiles.MCS_CERTIFICATE
|
||||
|
||||
|
||||
def test_get_file_type_string_with_mcs_evidence_category_returns_mcs_certificate() -> None:
|
||||
# Arrange
|
||||
filename = "some_cert.pdf"
|
||||
|
||||
# Act
|
||||
result = get_file_type_string(filename, evidence_category="MCS Compliance Certificate")
|
||||
|
||||
# Assert
|
||||
assert result == "mcs_certificate"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue