1
1
<?php
2
+
2
3
namespace Tests {
3
4
5
+ use Brexis \LaravelWorkflow \Events \EnteredEvent ;
6
+ use Brexis \LaravelWorkflow \Events \EnterEvent ;
7
+ use Brexis \LaravelWorkflow \Events \GuardEvent ;
8
+ use Brexis \LaravelWorkflow \Events \LeaveEvent ;
9
+ use Brexis \LaravelWorkflow \Events \TransitionEvent ;
4
10
use PHPUnit \Framework \TestCase ;
5
11
use Brexis \LaravelWorkflow \WorkflowRegistry ;
6
12
use Tests \Fixtures \TestObject ;
@@ -13,44 +19,59 @@ public function testIfWorkflowEmitsEvents()
13
19
14
20
$ events = [];
15
21
16
- $ config = [
17
- 'straight ' => [
18
- 'supports ' => ['Tests\Fixtures\TestObject ' ],
19
- 'places ' => ['a ' , 'b ' , 'c ' ],
20
- 'transitions ' => [
21
- 't1 ' => [
22
- 'from ' => 'a ' ,
23
- 'to ' => 'b ' ,
22
+ $ config = [
23
+ 'straight ' => [
24
+ 'supports ' => [TestObject::class],
25
+ 'places ' => ['a ' , 'b ' , 'c ' ],
26
+ 'transitions ' => [
27
+ 't1 ' => [
28
+ 'from ' => 'a ' ,
29
+ 'to ' => 'b ' ,
30
+ ],
31
+ 't2 ' => [
32
+ 'from ' => 'b ' ,
33
+ 'to ' => 'c ' ,
34
+ ],
24
35
],
25
- 't2 ' => [
26
- 'from ' => 'b ' ,
27
- 'to ' => 'c ' ,
28
- ]
29
36
],
30
- ]
31
37
];
32
38
33
- $ registry = new WorkflowRegistry ($ config );
34
- $ object = new TestObject ;
35
- $ workflow = $ registry ->get ($ object );
39
+ $ registry = new WorkflowRegistry ($ config );
40
+ $ object = new TestObject ;
41
+ $ workflow = $ registry ->get ($ object );
36
42
37
43
$ workflow ->apply ($ object , 't1 ' );
38
44
39
- $ this ->assertTrue ($ events [0 ] instanceof \Brexis \LaravelWorkflow \Events \GuardEvent);
40
- $ this ->assertTrue ($ events [1 ] == "workflow.straight.guard " );
41
- $ this ->assertTrue ($ events [2 ] instanceof \Brexis \LaravelWorkflow \Events \LeaveEvent);
42
- $ this ->assertTrue ($ events [3 ] == "workflow.straight.leave " );
43
- $ this ->assertTrue ($ events [4 ] instanceof \Brexis \LaravelWorkflow \Events \TransitionEvent);
44
- $ this ->assertTrue ($ events [5 ] == "workflow.straight.transition " );
45
- $ this ->assertTrue ($ events [6 ] instanceof \Brexis \LaravelWorkflow \Events \EnterEvent);
46
- $ this ->assertTrue ($ events [7 ] == "workflow.straight.enter " );
47
- $ this ->assertTrue ($ events [8 ] instanceof \Brexis \LaravelWorkflow \Events \EnteredEvent);
48
- $ this ->assertTrue ($ events [9 ] == "workflow.straight.entered " );
45
+ $ this ->assertInstanceOf (GuardEvent::class, $ events [0 ]);
46
+ $ this ->assertEquals ('workflow.guard ' , $ events [1 ]);
47
+ $ this ->assertEquals ('workflow.straight.guard ' , $ events [2 ]);
48
+ $ this ->assertEquals ('workflow.straight.guard.t1 ' , $ events [3 ]);
49
+
50
+ $ this ->assertInstanceOf (LeaveEvent::class, $ events [4 ]);
51
+ $ this ->assertEquals ('workflow.leave ' , $ events [5 ]);
52
+ $ this ->assertEquals ('workflow.straight.leave ' , $ events [6 ]);
53
+ $ this ->assertEquals ('workflow.straight.leave.t1 ' , $ events [7 ]);
54
+
55
+ $ this ->assertInstanceOf (TransitionEvent::class, $ events [8 ]);
56
+ $ this ->assertEquals ('workflow.transition ' , $ events [9 ]);
57
+ $ this ->assertEquals ('workflow.straight.transition ' , $ events [10 ]);
58
+ $ this ->assertEquals ('workflow.straight.transition.t1 ' , $ events [11 ]);
59
+
60
+ $ this ->assertInstanceOf (EnterEvent::class, $ events [12 ]);
61
+ $ this ->assertEquals ('workflow.enter ' , $ events [13 ]);
62
+ $ this ->assertEquals ('workflow.straight.enter ' , $ events [14 ]);
63
+ $ this ->assertEquals ('workflow.straight.enter.t1 ' , $ events [15 ]);
64
+
65
+ $ this ->assertInstanceOf (EnteredEvent::class, $ events [16 ]);
66
+ $ this ->assertEquals ('workflow.entered ' , $ events [17 ]);
67
+ $ this ->assertEquals ('workflow.straight.entered ' , $ events [18 ]);
68
+ $ this ->assertEquals ('workflow.straight.entered.t1 ' , $ events [19 ]);
49
69
}
50
70
}
51
71
}
52
72
53
73
namespace {
74
+
54
75
$ events = null ;
55
76
56
77
function event ($ ev )
0 commit comments