Skip to content

Commit

Permalink
Merge pull request #47 from getyoti/Release/1.5.0
Browse files Browse the repository at this point in the history
Release v1.5.0
  • Loading branch information
echarrod authored Nov 3, 2020
2 parents 4d1fe80 + 0aa3928 commit 44cbc8d
Show file tree
Hide file tree
Showing 36 changed files with 845 additions and 119 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,4 @@ public void TestProfile()
Assert.AreEqual("some@email", activityDetails.Profile.EmailAddress.GetValue());
}
}
}
}
4 changes: 2 additions & 2 deletions Yoti.Auth.Sandbox.Tests/DocScan/DocScanSandboxClientTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public void ConfigureSessionResponseShouldThrowForNonSuccessCode()
_sandboxResponseConfig);
});

Assert.Contains("Error when setting up Doc Scan session response", exception.Message, StringComparison.Ordinal);
Assert.Contains("Failed validation - Status Code: '400' (BadRequest). Content: '{}'", exception.Message, StringComparison.Ordinal);
};
}

Expand Down Expand Up @@ -161,7 +161,7 @@ public void ConfigureApplicationResponseShouldThrowForNonSuccessCode()
_sandboxResponseConfig);
});

Assert.Contains("Error when setting up Doc Scan application response", exception.Message, StringComparison.Ordinal);
Assert.Contains("Failed validation - Status Code: '400' (BadRequest). Content: '{}'", exception.Message, StringComparison.Ordinal);
};
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Xunit;
using Yoti.Auth.Sandbox.DocScan.Request.Check;
using Yoti.Auth.Sandbox.DocScan.Request.Check.Report;

namespace Yoti.Auth.Sandbox.Tests.DocScan.Request.Check
{
public class SandboxSupplementaryDocTextDataCheckBuilderTests
{
private readonly SandboxBreakdown _someBreakDown = new SandboxBreakdown("someSubCheck", "someResult", details: null);
private readonly SandboxRecommendation _someRecommendation = new SandboxRecommendation("someValue", "someReason", "someRecoverySuggestion");
private readonly string _someKey = "someName";
private readonly string _someValue = "someValue";

[Fact]
public void ShouldNotBuildWithoutRecommendation()
{
var exception = Assert.Throws<ArgumentNullException>(() =>
{
new SandboxSupplementaryDocTextDataCheckBuilder()
.WithDocumentField("key", "value")
.WithBreakdown(_someBreakDown)
.Build();
});

Assert.Contains("Recommendation", exception.Message, StringComparison.Ordinal);
}

[Fact]
public void ShouldBuildWithDocumentField()
{
var check = new SandboxSupplementaryDocTextDataCheckBuilder()
.WithDocumentField(_someKey, _someValue)
.WithBreakdown(_someBreakDown)
.WithRecommendation(_someRecommendation)
.Build();

var sandboxTextDataCheckResult = (SandboxSupplementaryDocTextDataCheckResult)check.Result;

var result = sandboxTextDataCheckResult.DocumentFields.Single();

Assert.Equal(_someKey, result.Key);
Assert.Equal(_someValue, result.Value);
}

[Fact]
public void ShouldBuildWithoutDocumentFields()
{
var check = new SandboxSupplementaryDocTextDataCheckBuilder()
.WithBreakdown(_someBreakDown)
.WithRecommendation(_someRecommendation)
.Build();

var sandboxTextDataCheckResult = (SandboxSupplementaryDocTextDataCheckResult)check.Result;

Assert.Null(sandboxTextDataCheckResult.DocumentFields);
}

[Fact]
public void ShouldBuildWithDocumentFields()
{
var documentFields = new Dictionary<string, object>
{
{ _someKey, _someValue },
{ "key2", "value2" }
};

var check = new SandboxSupplementaryDocTextDataCheckBuilder()
.WithDocumentFields(documentFields)
.WithRecommendation(_someRecommendation)
.WithBreakdown(_someBreakDown)
.Build();

var sandboxTextDataCheckResult = (SandboxSupplementaryDocTextDataCheckResult)check.Result;

var result = sandboxTextDataCheckResult.DocumentFields;

Assert.Equal(2, result.Count);
Assert.Equal(_someKey, result.ElementAt(0).Key);
Assert.Equal(_someValue, result.ElementAt(0).Value);
Assert.Equal("key2", result.ElementAt(1).Key);
Assert.Equal("value2", result.ElementAt(1).Value);
}

[Fact]
public void WithDocumentFieldsShouldOverrideWithDocumentField()
{
var documentFields = new Dictionary<string, object>
{
{ _someKey, _someValue },
{ "key2", _someValue }
};

var check = new SandboxSupplementaryDocTextDataCheckBuilder()
.WithDocumentField(_someKey, _someValue)
.WithDocumentFields(documentFields)
.WithRecommendation(_someRecommendation)
.WithBreakdown(_someBreakDown)
.Build();

var sandboxTextDataCheckResult = (SandboxSupplementaryDocTextDataCheckResult)check.Result;

Assert.Equal(2, sandboxTextDataCheckResult.DocumentFields.Count);
}

[Fact]
public void WithDocumentFieldShouldAddToDocumentFields()
{
var documentFields = new Dictionary<string, object>
{
{ "key1", _someValue },
{ "key2", _someValue }
};

var check = new SandboxSupplementaryDocTextDataCheckBuilder()
.WithDocumentFields(documentFields)
.WithDocumentField(_someKey, _someValue)
.WithBreakdown(_someBreakDown)
.WithRecommendation(_someRecommendation)
.Build();

var sandboxTextDataCheckResult = (SandboxSupplementaryDocTextDataCheckResult)check.Result;

Assert.Equal(3, sandboxTextDataCheckResult.DocumentFields.Count);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Text;
using Xunit;
using Yoti.Auth.Sandbox.DocScan.Request.Task;

namespace Yoti.Auth.Sandbox.Tests.DocScan.Request.Task
{
public class SandboxDocumentTextDataExtractionReasonTests
{
private readonly string _someReasonDetail = "someReasonDetail";

[Fact]
public void ShouldBuildForQuality()
{
var task = new SandboxDocumentTextDataExtractionReasonBuilder()
.ForQuality()
.Build();

Assert.Equal("QUALITY", task.Value);
}

[Fact]
public void ShouldBuildForUserError()
{
var task = new SandboxDocumentTextDataExtractionReasonBuilder()
.ForUserError()
.Build();

Assert.Equal("USER_ERROR", task.Value);
}

[Fact]
public void ShouldBuildForAReasonDetail()
{
var task = new SandboxDocumentTextDataExtractionReasonBuilder()
.WithDetail(_someReasonDetail)
.Build();

Assert.Equal(_someReasonDetail, task.Detail);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
using Xunit;
using Yoti.Auth.Sandbox.DocScan.Request.Task;

namespace Yoti.Auth.Sandbox.Tests.DocScan.Request.Task
{
public class SandboxDocumentTextDataExtractionRecommendationTests
{
[Fact]
public void ShouldBuildWithRecommendationForProgress()
{
var task = new SandboxDocumentTextDataExtractionRecommendationBuilder()
.ForProgress()
.Build();

Assert.Equal("PROGRESS", task.Value);
}

[Fact]
public void ShouldBuildWithRecommendationShouldTryAgain()
{
var task = new SandboxDocumentTextDataExtractionRecommendationBuilder()
.ForShouldTryAgain()
.Build();

Assert.Equal("SHOULD_TRY_AGAIN", task.Value);
}

[Fact]
public void ShouldBuildWithRecommendationMustTryAgain()
{
var task = new SandboxDocumentTextDataExtractionRecommendationBuilder()
.ForMustTryAgain()
.Build();

Assert.Equal("MUST_TRY_AGAIN", task.Value);
}

[Fact]
public void ShouldBuildWithReason()
{
SandboxDocumentTextDataExtractionReason _someReason = new SandboxDocumentTextDataExtractionReason("value", "details");

var task = new SandboxDocumentTextDataExtractionRecommendationBuilder()
.WithReason(_someReason)
.Build();

Assert.Equal(_someReason, task.Reason);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace Yoti.Auth.Sandbox.Tests.DocScan.Request.Task
{
public class SandboxDocumentTextDataExtractionTaskBuilderTest
public class SandboxDocumentTextDataExtractionTaskBuilderTests
{
private readonly string _someKey = "someKey";
private readonly string _someValue = "someValue";
Expand Down Expand Up @@ -52,6 +52,30 @@ public void ShouldBuildWithDocumentFields()
Assert.Equal(_someOtherValue, task.Result.DocumentFields[_someOtherKey]);
}

[Fact]
public void ShouldBuildWithDocumentFilter()
{
var documentFilter = new SandboxDocumentFilterBuilder().Build();

var task = new SandboxDocumentTextDataExtractionTaskBuilder()
.WithDocumentFilter(documentFilter)
.Build();

Assert.Equal(documentFilter, task.DocumentFilter);
}

[Fact]
public void ShouldBuildWithRecommendation()
{
var recommendation = new SandboxDocumentTextDataExtractionRecommendationBuilder().Build();

var task = new SandboxDocumentTextDataExtractionTaskBuilder()
.WithRecommendation(recommendation)
.Build();

Assert.Equal(recommendation, task.Result.Recommendation);
}

[Fact]
public void ShouldBuildWithoutMethods()
{
Expand All @@ -74,5 +98,15 @@ public void ShouldBuildWithDocumentIdPhoto()
Assert.Equal(contentType, task.Result.DocumentIdPhoto.ContentType);
Assert.Equal(Convert.ToBase64String(imageBytes), task.Result.DocumentIdPhoto.Base64Data);
}

[Fact]
public void ShouldBuildWithDetectedCountry()
{
var task = new SandboxDocumentTextDataExtractionTaskBuilder()
.WithDetectedCountry("GBR")
.Build();

Assert.Equal("GBR", task.Result.DetectedCountry);
}
}
}
Loading

0 comments on commit 44cbc8d

Please sign in to comment.