@@ 54-75 (lines=22) @@ | ||
51 | $this->query('{ me { firstName } }'); |
|
52 | } |
|
53 | ||
54 | public function it_should_not_send_auth_request_before_graphql_request_if_user_is_authenticated( |
|
55 | HttpClient $httpClient, |
|
56 | MessageFactory $messageFactory, |
|
57 | RequestInterface $request, |
|
58 | ResponseInterface $response, |
|
59 | StreamInterface $stream, |
|
60 | AuthClient $authClient |
|
61 | ) { |
|
62 | $messageFactory->createRequest('POST', self::GRAPHQL_ENDPOINT, Argument::type('array'), Argument::type(MultipartStream::class))->willReturn($request); |
|
63 | $httpClient->sendRequest($request)->willReturn($response); |
|
64 | $response->getStatusCode()->willReturn(200); |
|
65 | $response->getBody()->willReturn($stream); |
|
66 | $stream->__toString()->willReturn(json_encode([ |
|
67 | 'me' => ['firstName' => 'Hugo'], |
|
68 | ])); |
|
69 | ||
70 | $authClient->getApiToken()->willReturn('<api token>')->shouldBeCalled(); |
|
71 | $authClient->isAuthenticated()->willReturn(true)->shouldBeCalled(); |
|
72 | $authClient->auth()->shouldNotBeCalled(); |
|
73 | ||
74 | $this->query('{ me { firstName } }'); |
|
75 | } |
|
76 | ||
77 | public function it_should_send_graphql_query() |
|
78 | { |
|
@@ 136-155 (lines=20) @@ | ||
133 | { |
|
134 | } |
|
135 | ||
136 | public function it_should_handle_invalid_json( |
|
137 | HttpClient $httpClient, |
|
138 | MessageFactory $messageFactory, |
|
139 | RequestInterface $request, |
|
140 | ResponseInterface $response, |
|
141 | StreamInterface $stream, |
|
142 | AuthClient $authClient |
|
143 | ) { |
|
144 | $messageFactory->createRequest('POST', self::GRAPHQL_ENDPOINT, Argument::type('array'), Argument::type(MultipartStream::class))->willReturn($request); |
|
145 | $httpClient->sendRequest($request)->willReturn($response); |
|
146 | $response->getStatusCode()->willReturn(200); |
|
147 | $response->getBody()->willReturn($stream); |
|
148 | $stream->__toString()->willReturn('invalid JSON'); |
|
149 | ||
150 | $authClient->getApiToken()->willReturn('<api token>')->shouldBeCalled(); |
|
151 | $authClient->isAuthenticated()->willReturn(true)->shouldBeCalled(); |
|
152 | $authClient->auth()->shouldNotBeCalled(); |
|
153 | ||
154 | $this->shouldThrow(InvalidResponseException::class)->during('query', ['{ me { firstName } }']); |
|
155 | } |
|
156 | } |
|
157 |