using Elsa.Testing.Shared; using Elsa.Workflows; namespace Elsa.Activities.UnitTests.Primitives; /// /// Unit tests for the activity. /// public class FinishTests { [Fact(DisplayName = "Finish implements ITerminalNode interface")] public void Finish_ImplementsITerminalNode() { // Arrange var finish = new Finish(); // Assert Assert.IsAssignableFrom(finish); } [Fact(DisplayName = "Finish completes successfully")] public async Task Should_Complete_Successfully() { // Arrange var finish = new Finish(); // Act var context = await ExecuteAsync(finish); // Assert Assert.Equal(ActivityStatus.Completed, context.Status); } [Fact(DisplayName = "Finish transitions workflow to Finished substatus")] public async Task Should_Transition_Workflow_To_Finished() { // Arrange var finish = new Finish(); // Act var context = await ExecuteAsync(finish); // Assert Assert.Equal(WorkflowSubStatus.Finished, context.WorkflowExecutionContext.SubStatus); } private static async Task ExecuteAsync(IActivity activity) { return await new ActivityTestFixture(activity).ExecuteAsync(); } }