Improving maintainability of tests
This commit is contained in:
parent
ab7d0f6d55
commit
7147eb5124
|
|
@ -1,5 +1,4 @@
|
|||
using Elsa.Activities.UnitTests.Helpers;
|
||||
using Elsa.Expressions.Models;
|
||||
using Elsa.Workflows;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using NSubstitute;
|
||||
|
|
@ -8,45 +7,47 @@ namespace Elsa.Activities.UnitTests.Console;
|
|||
|
||||
public class WriteLineTests
|
||||
{
|
||||
private readonly TextWriter _mockTextWriter;
|
||||
private readonly IStandardOutStreamProvider _mockProvider;
|
||||
|
||||
public WriteLineTests()
|
||||
{
|
||||
_mockTextWriter = Substitute.For<TextWriter>();
|
||||
_mockProvider = Substitute.For<IStandardOutStreamProvider>();
|
||||
_mockProvider.GetTextWriter().Returns(_mockTextWriter);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Should_Write_String_Literal_To_Output()
|
||||
{
|
||||
// Arrange
|
||||
const string expectedText = "Hello, World!";
|
||||
var mockTextWriter = Substitute.For<TextWriter>();
|
||||
var mockProvider = Substitute.For<IStandardOutStreamProvider>();
|
||||
mockProvider.GetTextWriter().Returns(mockTextWriter);
|
||||
|
||||
var writeLine = new WriteLine(expectedText);
|
||||
|
||||
// Act
|
||||
await ActivityTestHelper.ExecuteActivityAsync(writeLine, services =>
|
||||
{
|
||||
services.AddSingleton(mockProvider);
|
||||
services.AddSingleton(_mockProvider);
|
||||
});
|
||||
|
||||
// Assert
|
||||
mockTextWriter.Received(1).WriteLine(expectedText);
|
||||
_mockTextWriter.Received(1).WriteLine(expectedText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Should_Write_Null_Value_To_Output()
|
||||
{
|
||||
// Arrange
|
||||
var mockTextWriter = Substitute.For<TextWriter>();
|
||||
var mockProvider = Substitute.For<IStandardOutStreamProvider>();
|
||||
mockProvider.GetTextWriter().Returns(mockTextWriter);
|
||||
|
||||
var writeLine = new WriteLine(new Input<string>(default(string)!));
|
||||
|
||||
// Act
|
||||
await ActivityTestHelper.ExecuteActivityAsync(writeLine, services =>
|
||||
{
|
||||
services.AddSingleton(mockProvider);
|
||||
services.AddSingleton(_mockProvider);
|
||||
});
|
||||
|
||||
// Assert
|
||||
mockTextWriter.Received(1).WriteLine(Arg.Is<string?>(s => s == null));
|
||||
_mockTextWriter.Received(1).WriteLine(Arg.Is<string?>(s => s == null));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -54,20 +55,16 @@ public class WriteLineTests
|
|||
{
|
||||
// Arrange
|
||||
const string expectedText = "";
|
||||
var mockTextWriter = Substitute.For<TextWriter>();
|
||||
var mockProvider = Substitute.For<IStandardOutStreamProvider>();
|
||||
mockProvider.GetTextWriter().Returns(mockTextWriter);
|
||||
|
||||
var writeLine = new WriteLine(expectedText);
|
||||
|
||||
// Act
|
||||
await ActivityTestHelper.ExecuteActivityAsync(writeLine, services =>
|
||||
{
|
||||
services.AddSingleton(mockProvider);
|
||||
services.AddSingleton(_mockProvider);
|
||||
});
|
||||
|
||||
// Assert
|
||||
mockTextWriter.Received(1).WriteLine(expectedText);
|
||||
_mockTextWriter.Received(1).WriteLine(expectedText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
|||
Loading…
Reference in a new issue