Skip to content

Commit

Permalink
Add FailIf tests
Browse files Browse the repository at this point in the history
  • Loading branch information
amantinband committed Mar 26, 2024
1 parent 4898b82 commit 514d5a1
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 5 deletions.
2 changes: 1 addition & 1 deletion tests/ErrorOr.ElseAsyncTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public async Task CallingElseAsyncWithValue_WhenIsSuccess_ShouldNotReturnElseVal
}

[Fact]
public async Task CallingElseAsyncWithValue_WhenIsError_ShouldReturnElseValue()
public async Task CallingElseAsyncWithValue_WhenIsError_ShouldInvokeElseFunc()
{
// Arrange
ErrorOr<string> errorOrString = Error.NotFound();
Expand Down
8 changes: 4 additions & 4 deletions tests/ErrorOr.ElseTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public void CallingElseWithValueFunc_WhenIsSuccess_ShouldNotInvokeElseFunc()
}

[Fact]
public void CallingElseWithValueFunc_WhenIsError_ShouldReturnElseValue()
public void CallingElseWithValueFunc_WhenIsError_ShouldInvokeElseFunc()
{
// Arrange
ErrorOr<string> errorOrString = Error.NotFound();
Expand Down Expand Up @@ -57,7 +57,7 @@ public void CallingElseWithValue_WhenIsSuccess_ShouldNotReturnElseValue()
}

[Fact]
public void CallingElseWithValue_WhenIsError_ShouldReturnElseValue()
public void CallingElseWithValue_WhenIsError_ShouldInvokeElseFunc()
{
// Arrange
ErrorOr<string> errorOrString = Error.NotFound();
Expand Down Expand Up @@ -176,7 +176,7 @@ public void CallingElseWithErrorsFunc_WhenIsSuccess_ShouldNotReturnElseErrors()
}

[Fact]
public async Task CallingElseWithValueAfterThenAsync_WhenIsError_ShouldReturnElseValue()
public async Task CallingElseWithValueAfterThenAsync_WhenIsError_ShouldInvokeElseFunc()
{
// Arrange
ErrorOr<string> errorOrString = Error.NotFound();
Expand All @@ -193,7 +193,7 @@ public async Task CallingElseWithValueAfterThenAsync_WhenIsError_ShouldReturnEls
}

[Fact]
public async Task CallingElseWithValueFuncAfterThenAsync_WhenIsError_ShouldReturnElseValue()
public async Task CallingElseWithValueFuncAfterThenAsync_WhenIsError_ShouldInvokeElseFunc()
{
// Arrange
ErrorOr<string> errorOrString = Error.NotFound();
Expand Down
52 changes: 52 additions & 0 deletions tests/ErrorOr.FailIfTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using ErrorOr;
using FluentAssertions;

namespace Tests;

public class FailIfTests
{
[Fact]
public void CallingFailIf_WhenFailsIf_ShouldReturnError()
{
// Arrange
ErrorOr<int> errorOrInt = 5;

// Act
ErrorOr<int> result = errorOrInt
.FailIf(num => num > 3, Error.Failure());

// Assert
result.IsError.Should().BeTrue();
result.FirstError.Type.Should().Be(ErrorType.Failure);
}

[Fact]
public void CallingFailIf_WhenDoesNotFailIf_ShouldReturnValue()
{
// Arrange
ErrorOr<int> errorOrInt = 5;

// Act
ErrorOr<int> result = errorOrInt
.FailIf(num => num > 10, Error.Failure());

// Assert
result.IsError.Should().BeFalse();
result.Value.Should().Be(5);
}

[Fact]
public void CallingFailIf_WhenIsError_ShouldNotInvokeFailIfFunc()
{
// Arrange
ErrorOr<string> errorOrString = Error.NotFound();

// Act
ErrorOr<string> result = errorOrString
.FailIf(str => str == "", Error.Failure());

// Assert
result.IsError.Should().BeTrue();
result.FirstError.Type.Should().Be(ErrorType.NotFound);
}
}

0 comments on commit 514d5a1

Please sign in to comment.