22
33namespace Spawnia \Sailor \Tests \Unit \Client ;
44
5+ use Mockery ;
56use Psr \Http \Message \ResponseInterface ;
7+ use Psr \Http \Message \StreamInterface ;
68use React \Http \Browser ;
79use Spawnia \Sailor \Client \ReactPhp ;
810use Spawnia \Sailor \Error \UnexpectedResponse ;
911use Spawnia \Sailor \Tests \TestCase ;
1012
13+ use function React \Promise \resolve ;
14+
1115/** @requires function React\Async\await */
1216final class ReactPhpTest extends TestCase
1317{
@@ -16,15 +20,15 @@ public function testRequest(): void
1620 $ uri = 'https://simple.bar/graphql ' ;
1721 $ expectedBody = /* @lang JSON */ '{"query":"{simple}"} ' ;
1822
19- $ browser = \ Mockery::mock (Browser::class);
23+ $ browser = Mockery::mock (Browser::class);
2024 $ browser ->shouldReceive ('post ' )
2125 ->once ()
2226 ->withArgs (function (string $ url , array $ headers , string $ body ) use ($ uri , $ expectedBody ): bool {
2327 return $ url === $ uri
2428 && $ headers === ['Content-Type ' => 'application/json ' ]
2529 && $ body === $ expectedBody ;
2630 })
27- ->andReturn (\ React \ Promise \ resolve ($ this ->mockResponse (200 , /* @lang JSON */ '{"data": {"simple": "bar"}} ' )));
31+ ->andReturn (resolve ($ this ->mockResponse (200 , /* @lang JSON */ '{"data": {"simple": "bar"}} ' )));
2832
2933 $ client = new ReactPhp ($ uri , $ browser );
3034 $ response = $ client ->request (/* @lang GraphQL */ '{simple} ' );
@@ -41,15 +45,15 @@ public function testRequestWithVariables(): void
4145 $ variables = (object ) ['foo ' => 'bar ' ];
4246 $ expectedBody = /* @lang JSON */ '{"query":"{simple}","variables":{"foo":"bar"}} ' ;
4347
44- $ browser = \ Mockery::mock (Browser::class);
48+ $ browser = Mockery::mock (Browser::class);
4549 $ browser ->shouldReceive ('post ' )
4650 ->once ()
4751 ->withArgs (function (string $ url , array $ headers , string $ body ) use ($ uri , $ expectedBody ): bool {
4852 return $ url === $ uri
4953 && $ headers === ['Content-Type ' => 'application/json ' ]
5054 && $ body === $ expectedBody ;
5155 })
52- ->andReturn (\ React \ Promise \ resolve ($ this ->mockResponse (200 , /* @lang JSON */ '{"data": {"simple": "bar"}} ' )));
56+ ->andReturn (resolve ($ this ->mockResponse (200 , /* @lang JSON */ '{"data": {"simple": "bar"}} ' )));
5357
5458 $ client = new ReactPhp ($ uri , $ browser );
5559 $ response = $ client ->request (/* @lang GraphQL */ '{simple} ' , $ variables );
@@ -64,25 +68,25 @@ public function testNon200StatusThrows(): void
6468 {
6569 $ uri = 'https://simple.bar/graphql ' ;
6670
67- $ browser = \ Mockery::mock (Browser::class);
71+ $ browser = Mockery::mock (Browser::class);
6872 $ browser ->shouldReceive ('post ' )
6973 ->once ()
70- ->andReturn (\ React \ Promise \ resolve ($ this ->mockResponse (500 , 'Internal Server Error ' )));
74+ ->andReturn (resolve ($ this ->mockResponse (500 , 'Internal Server Error ' )));
7175
7276 $ client = new ReactPhp ($ uri , $ browser );
7377
7478 $ this ->expectException (UnexpectedResponse::class);
7579 $ client ->request (/* @lang GraphQL */ '{simple} ' );
7680 }
7781
78- /** @return ResponseInterface&\ Mockery\MockInterface */
82+ /** @return ResponseInterface&Mockery\MockInterface */
7983 private function mockResponse (int $ statusCode , string $ body ): ResponseInterface
8084 {
81- $ stream = \ Mockery::mock (\ Psr \ Http \ Message \ StreamInterface::class);
85+ $ stream = Mockery::mock (StreamInterface::class);
8286 $ stream ->shouldReceive ('getContents ' )->andReturn ($ body );
8387 $ stream ->shouldReceive ('__toString ' )->andReturn ($ body );
8488
85- $ response = \ Mockery::mock (ResponseInterface::class);
89+ $ response = Mockery::mock (ResponseInterface::class);
8690 $ response ->shouldReceive ('getStatusCode ' )->andReturn ($ statusCode );
8791 $ response ->shouldReceive ('getBody ' )->andReturn ($ stream );
8892 $ response ->shouldReceive ('getHeaders ' )->andReturn ([]);
0 commit comments