* Add unit and integration tests for `Complete` activity to validate composite workflows execution - Introduced integration and unit tests covering `Complete` activity behavior in nested and simple composite workflows. - Added `CompleteTests` for edge cases such as immediate parent completion and composite termination. - Developed new composite activities (`InnerComposite`, `OuterComposite`, `SimpleComposite`) for testing scenarios. * Remove unnecessary `Complete` constructors tests.
32 lines
888 B
C#
32 lines
888 B
C#
using Elsa.Workflows;
|
|
using Elsa.Workflows.Activities;
|
|
|
|
namespace Elsa.Activities.IntegrationTests.Composition.Activities;
|
|
|
|
/// <summary>
|
|
/// Inner composite activity that uses Complete.
|
|
/// </summary>
|
|
public class InnerComposite : Composite
|
|
{
|
|
private readonly WriteLine _completedMessage = new("Inner composite completed");
|
|
|
|
public InnerComposite()
|
|
{
|
|
Root = new Sequence
|
|
{
|
|
Activities =
|
|
{
|
|
new WriteLine("Inner composite started"),
|
|
new Complete(),
|
|
new WriteLine("This should not execute in inner"),
|
|
_completedMessage
|
|
}
|
|
};
|
|
}
|
|
|
|
protected override async ValueTask OnCompletedAsync(ActivityCompletedContext context)
|
|
{
|
|
// Schedule the completion message
|
|
await context.TargetContext.ScheduleActivityAsync(_completedMessage);
|
|
}
|
|
} |