5
5
use ApiClients \Foundation \Middleware \MiddlewareInterface ;
6
6
use ApiClients \Foundation \Middleware \MiddlewareRunner ;
7
7
use ApiClients \Tools \TestUtilities \TestCase ;
8
+ use Closure ;
8
9
use Exception ;
9
10
use GuzzleHttp \Psr7 \Request ;
10
11
use GuzzleHttp \Psr7 \Response ;
@@ -27,22 +28,10 @@ public function testAll()
27
28
28
29
$ middlewareOne = Phake::mock (MiddlewareInterface::class);
29
30
Phake::when ($ middlewareOne )->priority ()->thenReturn (1000 );
30
- Phake::when ($ middlewareOne )->pre ($ request , $ options )->thenReturn (resolve ($ request ));
31
- Phake::when ($ middlewareOne )->post ($ response , $ options )->thenReturn (resolve ($ response ));
32
- Phake::when ($ middlewareOne )->error ($ exception , $ options )->thenReturn (reject ($ exception ));
33
-
34
31
$ middlewareTwo = Phake::mock (MiddlewareInterface::class);
35
32
Phake::when ($ middlewareTwo )->priority ()->thenReturn (500 );
36
- Phake::when ($ middlewareTwo )->pre ($ request , $ options )->thenReturn (resolve ($ request ));
37
- Phake::when ($ middlewareTwo )->post ($ response , $ options )->thenReturn (resolve ($ response ));
38
- Phake::when ($ middlewareTwo )->error ($ exception , $ options )->thenReturn (reject ($ exception ));
39
-
40
33
$ middlewareThree = Phake::mock (MiddlewareInterface::class);
41
34
Phake::when ($ middlewareThree )->priority ()->thenReturn (0 );
42
- Phake::when ($ middlewareThree )->pre ($ request , $ options )->thenReturn (resolve ($ request ));
43
- Phake::when ($ middlewareThree )->post ($ response , $ options )->thenReturn (resolve ($ response ));
44
- Phake::when ($ middlewareThree )->error ($ exception , $ options )->thenReturn (reject ($ exception ));
45
-
46
35
$ args = [
47
36
$ options ,
48
37
$ middlewareThree ,
@@ -51,6 +40,23 @@ public function testAll()
51
40
];
52
41
53
42
$ executioner = new MiddlewareRunner (...$ args );
43
+ $ id = Closure::bind (function ($ executioner ) {
44
+ return $ executioner ->id ;
45
+ }, null , MiddlewareRunner::class)($ executioner );
46
+
47
+ Phake::when ($ middlewareOne )->pre ($ request , $ options , $ id )->thenReturn (resolve ($ request ));
48
+ Phake::when ($ middlewareOne )->post ($ response , $ options , $ id )->thenReturn (resolve ($ response ));
49
+ Phake::when ($ middlewareOne )->error ($ exception , $ options , $ id )->thenReturn (reject ($ exception ));
50
+
51
+ Phake::when ($ middlewareTwo )->pre ($ request , $ options , $ id )->thenReturn (resolve ($ request ));
52
+ Phake::when ($ middlewareTwo )->post ($ response , $ options , $ id )->thenReturn (resolve ($ response ));
53
+ Phake::when ($ middlewareTwo )->error ($ exception , $ options , $ id )->thenReturn (reject ($ exception ));
54
+
55
+ Phake::when ($ middlewareThree )->pre ($ request , $ options , $ id )->thenReturn (resolve ($ request ));
56
+ Phake::when ($ middlewareThree )->post ($ response , $ options , $ id )->thenReturn (resolve ($ response ));
57
+ Phake::when ($ middlewareThree )->error ($ exception , $ options , $ id )->thenReturn (reject ($ exception ));
58
+
59
+
54
60
self ::assertSame ($ request , await ($ executioner ->pre ($ request ), $ loop ));
55
61
self ::assertSame ($ response , await ($ executioner ->post ($ response ), $ loop ));
56
62
try {
@@ -60,15 +66,15 @@ public function testAll()
60
66
}
61
67
62
68
Phake::inOrder (
63
- Phake::verify ($ middlewareOne )->pre ($ request , $ options ),
64
- Phake::verify ($ middlewareTwo )->pre ($ request , $ options ),
65
- Phake::verify ($ middlewareThree )->pre ($ request , $ options ),
66
- Phake::verify ($ middlewareThree )->post ($ response , $ options ),
67
- Phake::verify ($ middlewareTwo )->post ($ response , $ options ),
68
- Phake::verify ($ middlewareOne )->post ($ response , $ options ),
69
- Phake::verify ($ middlewareOne )->error ($ exception , $ options ),
70
- Phake::verify ($ middlewareTwo )->error ($ exception , $ options ),
71
- Phake::verify ($ middlewareThree )->error ($ exception , $ options )
69
+ Phake::verify ($ middlewareOne )->pre ($ request , $ options, $ id ),
70
+ Phake::verify ($ middlewareTwo )->pre ($ request , $ options, $ id ),
71
+ Phake::verify ($ middlewareThree )->pre ($ request , $ options, $ id ),
72
+ Phake::verify ($ middlewareThree )->post ($ response , $ options, $ id ),
73
+ Phake::verify ($ middlewareTwo )->post ($ response , $ options, $ id ),
74
+ Phake::verify ($ middlewareOne )->post ($ response , $ options, $ id ),
75
+ Phake::verify ($ middlewareOne )->error ($ exception , $ options, $ id ),
76
+ Phake::verify ($ middlewareTwo )->error ($ exception , $ options, $ id ),
77
+ Phake::verify ($ middlewareThree )->error ($ exception , $ options, $ id )
72
78
);
73
79
}
74
80
}
0 commit comments