diff --git a/yoti_python_sdk/doc_scan/session/retrieve/breakdown_response.py b/yoti_python_sdk/doc_scan/session/retrieve/breakdown_response.py index 20622087..d725b77f 100644 --- a/yoti_python_sdk/doc_scan/session/retrieve/breakdown_response.py +++ b/yoti_python_sdk/doc_scan/session/retrieve/breakdown_response.py @@ -14,6 +14,7 @@ def __init__(self, data): """ self.__sub_check = data.get("sub_check", None) self.__result = data.get("result", None) + self.__process = data.get("process", None) self.__details = [DetailsResponse(detail) for detail in data.get("details", [])] @property @@ -36,6 +37,16 @@ def result(self): """ return self.__result + @property + def process(self): + """ + The process of the sub check + + :return: the process + :rtype: str or None + """ + return self.__process + @property def details(self): """ diff --git a/yoti_python_sdk/doc_scan/session/retrieve/page_response.py b/yoti_python_sdk/doc_scan/session/retrieve/page_response.py index 25661660..d3294c0e 100644 --- a/yoti_python_sdk/doc_scan/session/retrieve/page_response.py +++ b/yoti_python_sdk/doc_scan/session/retrieve/page_response.py @@ -23,6 +23,7 @@ def __init__(self, data=None): ) self.__media = MediaResponse(data["media"]) if "media" in data.keys() else None self.__frames = [FrameResponse(frame) for frame in data.get("frames", [])] + self.__extraction_image_ids = data.get("extraction_image_ids", []) @property def capture_method(self): @@ -53,3 +54,13 @@ def frames(self): :rtype: list[FrameResponse] """ return self.__frames + + @property + def extraction_image_ids(self): + """ + Returns the list of extraction image IDs + + :return: the extraction image IDs + :rtype: list[str] + """ + return self.__extraction_image_ids diff --git a/yoti_python_sdk/tests/doc_scan/session/retrieve/test_breakdown_response.py b/yoti_python_sdk/tests/doc_scan/session/retrieve/test_breakdown_response.py index 2b534512..9d6769ed 100644 --- a/yoti_python_sdk/tests/doc_scan/session/retrieve/test_breakdown_response.py +++ b/yoti_python_sdk/tests/doc_scan/session/retrieve/test_breakdown_response.py @@ -8,6 +8,7 @@ class BreakdownResponseTest(unittest.TestCase): SOME_SUB_CHECK = "someSubCheck" SOME_RESULT = "someResult" + SOME_PROCESS = "AUTOMATED" SOME_DETAILS = [ {"name": "firstDetailName", "value": "firstDetailValue"}, {"name": "secondDetailName", "value": "secondDetailValue"}, @@ -17,6 +18,7 @@ def test_should_build_correctly(self): data = { "sub_check": self.SOME_SUB_CHECK, "result": self.SOME_RESULT, + "process": self.SOME_PROCESS, "details": self.SOME_DETAILS, } @@ -24,6 +26,7 @@ def test_should_build_correctly(self): assert result.sub_check is self.SOME_SUB_CHECK assert result.result is self.SOME_RESULT + assert result.process is self.SOME_PROCESS assert len(result.details) == 2 assert result.details[0].name == "firstDetailName" assert result.details[0].value == "firstDetailValue" @@ -31,6 +34,7 @@ def test_should_build_correctly(self): def test_should_default_details_to_empty_list(self): result = BreakdownResponse({}) assert len(result.details) == 0 + assert result.process is None if __name__ == "__main__": diff --git a/yoti_python_sdk/tests/doc_scan/session/retrieve/test_page_response.py b/yoti_python_sdk/tests/doc_scan/session/retrieve/test_page_response.py index 22e66d18..4ddb4df1 100644 --- a/yoti_python_sdk/tests/doc_scan/session/retrieve/test_page_response.py +++ b/yoti_python_sdk/tests/doc_scan/session/retrieve/test_page_response.py @@ -8,12 +8,17 @@ class PageResponseTest(unittest.TestCase): SOME_CAPTURE_METHOD = "someCaptureMethod" SOME_FRAMES = [{"first": "frame"}, {"second": "frame"}] + SOME_EXTRACTION_IMAGE_IDS = [ + "066a9372-0a52-4fe4-a026-866f8aee6fcb", + "9b0c9c0a-ff30-41ed-815b-d95d63271d45", + ] def test_should_parse_correctly(self): data = { "capture_method": self.SOME_CAPTURE_METHOD, "media": {}, "frames": self.SOME_FRAMES, + "extraction_image_ids": self.SOME_EXTRACTION_IMAGE_IDS, } result = PageResponse(data) @@ -23,6 +28,8 @@ def test_should_parse_correctly(self): assert len(result.frames) == 2 assert isinstance(result.frames[0], FrameResponse) assert isinstance(result.frames[1], FrameResponse) + assert len(result.extraction_image_ids) == 2 + assert result.extraction_image_ids == self.SOME_EXTRACTION_IMAGE_IDS def test_should_parse_with_none(self): result = PageResponse(None) @@ -30,6 +37,7 @@ def test_should_parse_with_none(self): assert result.capture_method is None assert result.media is None assert len(result.frames) == 0 + assert len(result.extraction_image_ids) == 0 if __name__ == "__main__":