First commit. Include junk from template to remove
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
using Hutopy.Application.Common.Exceptions;
|
||||
using FluentAssertions;
|
||||
using FluentValidation.Results;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Hutopy.Application.UnitTests.Common.Exceptions;
|
||||
|
||||
public class ValidationExceptionTests
|
||||
{
|
||||
[Test]
|
||||
public void DefaultConstructorCreatesAnEmptyErrorDictionary()
|
||||
{
|
||||
var actual = new ValidationException().Errors;
|
||||
|
||||
actual.Keys.Should().BeEquivalentTo(Array.Empty<string>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SingleValidationFailureCreatesASingleElementErrorDictionary()
|
||||
{
|
||||
var failures = new List<ValidationFailure>
|
||||
{
|
||||
new ValidationFailure("Age", "must be over 18"),
|
||||
};
|
||||
|
||||
var actual = new ValidationException(failures).Errors;
|
||||
|
||||
actual.Keys.Should().BeEquivalentTo(new string[] { "Age" });
|
||||
actual["Age"].Should().BeEquivalentTo(new string[] { "must be over 18" });
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void MulitpleValidationFailureForMultiplePropertiesCreatesAMultipleElementErrorDictionaryEachWithMultipleValues()
|
||||
{
|
||||
var failures = new List<ValidationFailure>
|
||||
{
|
||||
new ValidationFailure("Age", "must be 18 or older"),
|
||||
new ValidationFailure("Age", "must be 25 or younger"),
|
||||
new ValidationFailure("Password", "must contain at least 8 characters"),
|
||||
new ValidationFailure("Password", "must contain a digit"),
|
||||
new ValidationFailure("Password", "must contain upper case letter"),
|
||||
new ValidationFailure("Password", "must contain lower case letter"),
|
||||
};
|
||||
|
||||
var actual = new ValidationException(failures).Errors;
|
||||
|
||||
actual.Keys.Should().BeEquivalentTo(new string[] { "Password", "Age" });
|
||||
|
||||
actual["Age"].Should().BeEquivalentTo(new string[]
|
||||
{
|
||||
"must be 25 or younger",
|
||||
"must be 18 or older",
|
||||
});
|
||||
|
||||
actual["Password"].Should().BeEquivalentTo(new string[]
|
||||
{
|
||||
"must contain lower case letter",
|
||||
"must contain upper case letter",
|
||||
"must contain at least 8 characters",
|
||||
"must contain a digit",
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user