1
- using WorkflowCore . Interface ;
2
- using WorkflowCore . Models ;
3
- using Xunit ;
1
+ using System . Threading ;
2
+ using System . Threading . Tasks ;
4
3
using FluentAssertions ;
5
- using WorkflowCore . Testing ;
4
+ using WorkflowCore . Interface ;
5
+ using WorkflowCore . Models ;
6
6
using WorkflowCore . Models . LifeCycleEvents ;
7
- using System . Threading . Tasks ;
8
- using System . Threading ;
9
- using Moq ;
7
+ using WorkflowCore . Testing ;
8
+ using Xunit ;
10
9
11
10
namespace WorkflowCore . IntegrationTests . Scenarios
12
11
{
@@ -18,33 +17,29 @@ public class StopWorkflow : IWorkflow
18
17
public int Version => 1 ;
19
18
public void Build ( IWorkflowBuilder < object > builder )
20
19
{
21
- builder . StartWith ( context => ExecutionResult . Next ( ) ) ;
20
+ builder . StartWith ( context => ExecutionResult . Next ( ) ) ;
22
21
}
23
22
}
24
23
25
- public StopScenario ( )
26
- {
27
- Setup ( ) ;
28
- }
24
+ public StopScenario ( ) => Setup ( ) ;
29
25
30
26
[ Fact ]
31
27
public async Task Scenario ( )
32
28
{
33
29
var tcs = new TaskCompletionSource < object > ( ) ;
34
- Host . OnLifeCycleEvent += ( evt ) => OnLifeCycleEvent ( evt , tcs ) ;
35
- var workflowId = StartWorkflow ( null ) ;
30
+ Host . OnLifeCycleEvent += async ( evt ) =>
31
+ {
32
+ if ( evt is WorkflowCompleted )
33
+ {
34
+ await Host . StopAsync ( CancellationToken . None ) ;
35
+ tcs . SetResult ( default ) ;
36
+ }
37
+ } ;
36
38
39
+ var workflowId = StartWorkflow ( default ) ;
37
40
await tcs . Task ;
38
- GetStatus ( workflowId ) . Should ( ) . Be ( WorkflowStatus . Complete ) ;
39
- }
40
41
41
- private async void OnLifeCycleEvent ( LifeCycleEvent evt , TaskCompletionSource < object > tcs )
42
- {
43
- if ( evt is WorkflowCompleted )
44
- {
45
- await Host . StopAsync ( CancellationToken . None ) ;
46
- tcs . SetResult ( new ( ) ) ;
47
- }
42
+ GetStatus ( workflowId ) . Should ( ) . Be ( WorkflowStatus . Complete ) ;
48
43
}
49
44
50
45
protected override void Dispose ( bool disposing ) { }
0 commit comments