Skip to content

Commit

Permalink
validation option test
Browse files Browse the repository at this point in the history
  • Loading branch information
pimbrouwers committed Dec 6, 2024
1 parent b4198ce commit 2514029
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions test/Danom.Validation.Tests/ValidationOptionTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
namespace Danom.Validation.Tests;

using Xunit;
using FluentValidation;
using Danom.TestHelpers;

public sealed class ValidationOptionTests
{
[Fact]
public void ReturnsSomeOption_WhenValidationSucceeds()
{
var input = new TestInput { Value = 1 };
var result = ValidationOption<TestInput>.From<TestInputValidator>(input);

AssertOption.IsNone(result);
Assert.False(result.IsSome);
}

[Fact]
public void ReturnsNoneOption_WhenValidationFails()
{
var input = new TestInput { Value = 0 };
var result = ValidationOption<TestInput>.From<TestInputValidator>(input);

AssertOption.IsNone(result);
Assert.False(result.IsSome);
}

public sealed class TestInput
{
public int Value { get; set; }

public override string ToString() => Value.ToString();
}

public sealed class TestInputValidator : AbstractValidator<TestInput>
{
public TestInputValidator()
{
RuleFor(x => x.Value).GreaterThan(0);
}
}
}

0 comments on commit 2514029

Please sign in to comment.