44
55namespace VonageTest \Account ;
66
7- use Laminas \Diactoros \Response ;
87use Prophecy \Argument ;
98use Psr \Http \Client \ClientExceptionInterface ;
109use Psr \Http \Message \RequestInterface ;
11- use VonageTest \Traits \Psr7AssertionTrait ;
1210use Vonage \Account \Client as AccountClient ;
1311use Vonage \Account \Network ;
1412use Vonage \Account \PrefixPrice ;
1715use Vonage \Client \Exception as ClientException ;
1816use Vonage \Client \Exception \Request as RequestException ;
1917use Vonage \Client \Exception \Server as ServerException ;
18+ use VonageTest \Traits \HTTPTestTrait ;
19+ use VonageTest \Traits \Psr7AssertionTrait ;
2020use VonageTest \VonageTestCase ;
21- use function fopen ;
2221
2322class ClientTest extends VonageTestCase
2423{
2524 use Psr7AssertionTrait;
25+ use HTTPTestTrait;
2626
2727 protected $ vonageClient ;
2828
@@ -38,6 +38,8 @@ class ClientTest extends VonageTestCase
3838
3939 public function setUp (): void
4040 {
41+ $ this ->responsesDirectory = __DIR__ . '/responses ' ;
42+
4143 $ this ->vonageClient = $ this ->prophesize (Client::class);
4244 $ this ->vonageClient ->getRestUrl ()->willReturn ('https://rest.nexmo.com ' );
4345 $ this ->vonageClient ->getApiUrl ()->willReturn ('https://api.nexmo.com ' );
@@ -154,7 +156,7 @@ public function testGetBalance(): void
154156 $ this ->vonageClient ->send (Argument::that (function (RequestInterface $ request ) {
155157 $ this ->assertEquals ('/account/get-balance ' , $ request ->getUri ()->getPath ());
156158 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
157- $ this ->assertRequestMethod ('GET ' , $ request );
159+ $ this ->assertRequestMethod ('GET ' , $ request );
158160
159161 $ uri = $ request ->getUri ();
160162 $ uriString = $ uri ->__toString ();
@@ -184,7 +186,7 @@ public function testGetBalanceWithNoResults(): void
184186 $ this ->vonageClient ->send (Argument::that (function (RequestInterface $ request ) {
185187 $ this ->assertEquals ('/account/get-balance ' , $ request ->getUri ()->getPath ());
186188 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
187- $ this ->assertRequestMethod ('GET ' , $ request );
189+ $ this ->assertRequestMethod ('GET ' , $ request );
188190
189191 return true ;
190192 }))->shouldBeCalledTimes (1 )->willReturn ($ this ->getResponse ('empty ' ));
@@ -313,7 +315,7 @@ public function testGetSmsPricing(): void
313315 $ this ->vonageClient ->send (Argument::that (function (RequestInterface $ request ) {
314316 $ this ->assertEquals ('/account/get-pricing/outbound/sms ' , $ request ->getUri ()->getPath ());
315317 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
316- $ this ->assertRequestMethod ('GET ' , $ request );
318+ $ this ->assertRequestMethod ('GET ' , $ request );
317319 $ this ->assertRequestQueryContains ('country ' , 'US ' , $ request );
318320
319321 return true ;
@@ -338,7 +340,7 @@ public function testGetSmsPricingReturnsEmptySet(): void
338340 $ this ->vonageClient ->send (Argument::that (function (RequestInterface $ request ) {
339341 $ this ->assertEquals ('/account/get-pricing/outbound/sms ' , $ request ->getUri ()->getPath ());
340342 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
341- $ this ->assertRequestMethod ('GET ' , $ request );
343+ $ this ->assertRequestMethod ('GET ' , $ request );
342344 $ this ->assertRequestQueryContains ('country ' , 'XX ' , $ request );
343345
344346 return true ;
@@ -358,7 +360,7 @@ public function testGetVoicePricing(): void
358360 $ this ->vonageClient ->send (Argument::that (function (RequestInterface $ request ) {
359361 $ this ->assertEquals ('/account/get-pricing/outbound/voice ' , $ request ->getUri ()->getPath ());
360362 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
361- $ this ->assertRequestMethod ('GET ' , $ request );
363+ $ this ->assertRequestMethod ('GET ' , $ request );
362364 $ this ->assertRequestQueryContains ('country ' , 'US ' , $ request );
363365
364366 return true ;
@@ -379,7 +381,7 @@ public function testGetPrefixPricing(): void
379381
380382 $ this ->assertEquals ('/account/get-prefix-pricing/outbound ' , $ request ->getUri ()->getPath ());
381383 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
382- $ this ->assertRequestMethod ('GET ' , $ request );
384+ $ this ->assertRequestMethod ('GET ' , $ request );
383385 $ this ->assertRequestQueryContains ('prefix ' , '263 ' , $ request );
384386
385387 if ($ hasRun ) {
@@ -401,7 +403,7 @@ public function testGetPrefixPricingNoResults(): void
401403 $ this ->vonageClient ->send (Argument::that (function (RequestInterface $ request ) {
402404 $ this ->assertEquals ('/account/get-prefix-pricing/outbound ' , $ request ->getUri ()->getPath ());
403405 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
404- $ this ->assertRequestMethod ('GET ' , $ request );
406+ $ this ->assertRequestMethod ('GET ' , $ request );
405407 $ this ->assertRequestQueryContains ('prefix ' , '263 ' , $ request );
406408
407409 return true ;
@@ -419,7 +421,7 @@ public function testGetPrefixPricingGenerates4xxError(): void
419421 $ this ->vonageClient ->send (Argument::that (function (RequestInterface $ request ) {
420422 $ this ->assertEquals ('/account/get-prefix-pricing/outbound ' , $ request ->getUri ()->getPath ());
421423 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
422- $ this ->assertRequestMethod ('GET ' , $ request );
424+ $ this ->assertRequestMethod ('GET ' , $ request );
423425 $ this ->assertRequestQueryContains ('prefix ' , '263 ' , $ request );
424426
425427 return true ;
@@ -436,25 +438,12 @@ public function testGetPrefixPricingGenerates5xxError(): void
436438 $ this ->vonageClient ->send (Argument::that (function (RequestInterface $ request ) {
437439 $ this ->assertEquals ('/account/get-prefix-pricing/outbound ' , $ request ->getUri ()->getPath ());
438440 $ this ->assertEquals ('rest.nexmo.com ' , $ request ->getUri ()->getHost ());
439- $ this ->assertRequestMethod ('GET ' , $ request );
441+ $ this ->assertRequestMethod ('GET ' , $ request );
440442 $ this ->assertRequestQueryContains ('prefix ' , '263 ' , $ request );
441443
442444 return true ;
443445 }))->shouldBeCalledTimes (1 )->willReturn ($ this ->getResponse ('prefix-pricing-server-failure ' , 500 ));
444446
445447 $ this ->accountClient ->getPrefixPricing ('263 ' );
446448 }
447-
448- /**
449- * Get the API response we'd expect for a call to the API.
450- */
451- protected function getResponse (string $ type = 'success ' , int $ status = 200 ): Response
452- {
453- return new Response (fopen (__DIR__ . '/responses/ ' . $ type . '.json ' , 'rb ' ), $ status );
454- }
455-
456- protected function getGenericResponse (string $ type = 'success ' , int $ status = 200 ): Response
457- {
458- return new Response (fopen (__DIR__ . '/../responses/general/ ' . $ type . '.json ' , 'rb ' ), $ status );
459- }
460449}
0 commit comments