* Refactor flowchart token handling and enhance merge mode behavior - Improve token emission, consumption, and scheduling logic. - Add support for distinct merge modes: None, Converge, Stream, and Race. - Update `MergeMode` enum documentation to clarify behavior. - Adjust default merge mode from `Converge` to `None`. * Add integration tests for implicit join behaviors with None and Converge merge modes - Added workflows `fork-decision-join-none.json` and `fork-decision-join-converge.json` to test scenarios. - Implemented `ForkDecisionJoinTests` to validate execution logic based on merge modes. - Updated project file to include new workflows for testing. * Refactor `ImplicitJoins` tests to `JoinBehaviors` and add test for `WaitAll` join mode - Renamed `ImplicitJoins` test namespace and workflows to `JoinBehaviors`. - Added `fork-decision-join-waitall.json` workflow to test the `WaitAll` merge mode. - Refactored `ForkDecisionJoinTests` with reusable logic for execution and assertions. - Updated project file to include the new workflow for testing. * Refactor flowchart token handling for improved clarity and efficiency - Simplified token consumption and filtering logic. - Removed default port fallback for active outbound connections. - Improved readability and maintainability of token handling in merge mode scenarios. * Refactor tests and workflows for `JoinBehaviors` - Transitioned connections to inline object initializers for simplicity. - Updated workflow paths in `ParallelJoinCompletesTests` and `JoinRunsOnceTests` to match `JoinBehaviors`. - Adjusted connection definitions in `ImplicitLoopWorkflow` for consistency. * Format JSON workflow files * Add ADR for explicit merge modes in flowchart joins - Introduced `MergeMode` enum with modes: None, Converge, Stream, and Race. - Documented motivation, decision, and implementation details. - Updated solution to include new ADR file.
37 lines
2 KiB
XML
37 lines
2 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<ProjectGuid>{ca65b7d5-57e8-4932-b8b8-732d040c9b3a}</ProjectGuid>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\..\src\common\Elsa.Testing.Shared.Integration\Elsa.Testing.Shared.Integration.csproj" />
|
|
<ProjectReference Include="..\..\..\src\modules\Elsa.Expressions.JavaScript\Elsa.Expressions.JavaScript.csproj" />
|
|
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
|
<ProjectReference Include="..\..\..\src\modules\Elsa.Scheduling\Elsa.Scheduling.csproj" />
|
|
<ProjectReference Include="..\..\..\src\modules\Elsa.Workflows.Api\Elsa.Workflows.Api.csproj" />
|
|
<ProjectReference Include="..\..\..\src\modules\Elsa.Workflows.Runtime.Distributed\Elsa.Workflows.Runtime.Distributed.csproj" />
|
|
<ProjectReference Include="..\..\..\src\modules\Elsa.Workflows.Runtime\Elsa.Workflows.Runtime.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<None Update="Serialization\**\*.json" CopyToOutputDirectory="PreserveNewest" />
|
|
<None Update="Scenarios\**\Workflows\*.json" CopyToOutputDirectory="PreserveNewest" />
|
|
<None Update="Scenarios\DependencyWorkflowsPublishing\Workflows\child.json">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="Scenarios\DependencyWorkflowsPublishing\Workflows\parent.json">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="Scenarios\ImplicitJoins\Workflows\fork-decision-join-converge.json">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="Scenarios\ImplicitJoins\Workflows\fork-decision-join-none.json">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="Scenarios\JoinBehaviors\Workflows\fork-decision-join-waitall.json">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</None>
|
|
</ItemGroup>
|
|
</Project>
|