diff --git a/src/Yoti.Auth/DocScan/Session/Retrieve/BreakdownResponse.cs b/src/Yoti.Auth/DocScan/Session/Retrieve/BreakdownResponse.cs index 8992a457..c64552ea 100644 --- a/src/Yoti.Auth/DocScan/Session/Retrieve/BreakdownResponse.cs +++ b/src/Yoti.Auth/DocScan/Session/Retrieve/BreakdownResponse.cs @@ -16,5 +16,8 @@ public class BreakdownResponse [JsonProperty(PropertyName = "details")] public List Details { get; private set; } + + [JsonProperty(PropertyName = "process")] + public string Process { get; private set; } } } \ No newline at end of file diff --git a/test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Check/CheckResponseTests.cs b/test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Check/CheckResponseTests.cs index faa5bc28..bb70015e 100644 --- a/test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Check/CheckResponseTests.cs +++ b/test/Yoti.Auth.Tests/DocScan/Session/Retrieve/Check/CheckResponseTests.cs @@ -106,6 +106,56 @@ public void CheckBreakdownResponseIsParsed() AssertBreakdownResponseValuesCorrect(breakdownResponse, response); } + [TestMethod] + public void CheckBreakdownResponseProcessIsAutomated() + { + dynamic breakdownResponse = new + { + sub_check = "issuing_authority_verification", + result = "PASS", + process = "AUTOMATED", + details = new List() + }; + + string json = JsonConvert.SerializeObject(breakdownResponse); + BreakdownResponse response = JsonConvert.DeserializeObject(json); + + Assert.AreEqual("AUTOMATED", response.Process); + } + + [TestMethod] + public void CheckBreakdownResponseProcessIsExpertReview() + { + dynamic breakdownResponse = new + { + sub_check = "issuing_authority_verification", + result = "PASS", + process = "EXPERT_REVIEW", + details = new List() + }; + + string json = JsonConvert.SerializeObject(breakdownResponse); + BreakdownResponse response = JsonConvert.DeserializeObject(json); + + Assert.AreEqual("EXPERT_REVIEW", response.Process); + } + + [TestMethod] + public void CheckBreakdownResponseProcessIsNullWhenAbsent() + { + dynamic breakdownResponse = new + { + sub_check = "issuing_authority_verification", + result = "PASS", + details = new List() + }; + + string json = JsonConvert.SerializeObject(breakdownResponse); + BreakdownResponse response = JsonConvert.DeserializeObject(json); + + Assert.IsNull(response.Process); + } + [TestMethod] public void CheckReportResponseIsParsed() { @@ -253,6 +303,7 @@ private dynamic GetBreakdownResponse() { sub_check = "issuing_authority_verification", result = "PASS", + process = "AUTOMATED", details = new List { new { name = "n1", value = "v1" }, new { name = "n2", value = "v2" } @@ -272,6 +323,7 @@ private static void AssertBreakdownResponseValuesCorrect(dynamic breakdownRespon { Assert.AreEqual(breakdownResponse.sub_check, response.SubCheck); Assert.AreEqual(breakdownResponse.result, response.Result); + Assert.AreEqual(breakdownResponse.process, response.Process); var detailsList = (breakdownResponse.details as IEnumerable); Assert.AreEqual(detailsList.First().name, response.Details.First().Name);