elsa-core/test/integration/Elsa.IntegrationTests/Activities/WriteLine/WriteLineTests.cs

35 lines
1.2 KiB
C#
Raw Normal View History

using System;
2022-04-12 13:55:35 +00:00
using System.Linq;
using System.Threading.Tasks;
using Elsa.Testing.Shared;
using Elsa.Workflows.Core.Activities;
using Elsa.Workflows.Core.Contracts;
2022-04-12 13:55:35 +00:00
using Microsoft.Extensions.DependencyInjection;
using Xunit;
using Xunit.Abstractions;
2022-04-20 13:52:51 +00:00
namespace Elsa.IntegrationTests.Activities;
2022-04-12 13:55:35 +00:00
2022-04-20 13:52:51 +00:00
public class WriteLineTests
2022-04-12 13:55:35 +00:00
{
private readonly IWorkflowRunner _workflowRunner;
private readonly CapturingTextWriter _capturingTextWriter = new();
private readonly IServiceProvider _services;
2022-04-12 13:55:35 +00:00
2022-04-20 13:52:51 +00:00
public WriteLineTests(ITestOutputHelper testOutputHelper)
2022-04-12 13:55:35 +00:00
{
_services = new TestApplicationBuilder(testOutputHelper).WithCapturingTextWriter(_capturingTextWriter).Build();
_workflowRunner = _services.GetRequiredService<IWorkflowRunner>();
2022-04-12 13:55:35 +00:00
}
2022-04-12 13:55:35 +00:00
[Fact(DisplayName = "Run a simple workflow")]
public async Task Test1()
{
var expectedOutput = "Hello World!";
var workflow = Workflow.FromActivity(new WriteLine(expectedOutput));
await _services.PopulateRegistriesAsync();
2022-04-12 13:55:35 +00:00
await _workflowRunner.RunAsync(workflow);
var line = _capturingTextWriter.Lines.FirstOrDefault();
Assert.Equal(expectedOutput, line);
}
}