Skip to content

Commit

Permalink
fix(core-api-response): added missing functions (#10)
Browse files Browse the repository at this point in the history
* fix(core-api-response): added missing functions

* improved path coverage
  • Loading branch information
asadali214 authored Oct 6, 2022
1 parent 230739f commit be2aa53
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 6 deletions.
25 changes: 25 additions & 0 deletions src/Types/Sdk/CoreApiResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,4 +83,29 @@ public function getBody()
{
return $this->body;
}

/**
* Is response OK?
*/
public function isSuccess(): bool
{
if ($this->statusCode == null) {
return false;
}
if ($this->statusCode < 200) {
return false;
}
if ($this->statusCode > 299) {
return false;
}
return true;
}

/**
* Is response missing or not OK?
*/
public function isError(): bool
{
return !$this->isSuccess();
}
}
33 changes: 27 additions & 6 deletions tests/ApiCallTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -780,16 +780,16 @@ public function testReceiveApiResponse()
'"retryOption":"useGlobalSettings"},"additionalProperties":[]}', $result->getBody());
$this->assertEquals(['content-type' => 'application/json'], $result->getHeaders());
$this->assertEquals(200, $result->getStatusCode());
$this->assertTrue($result->isSuccess());
$this->assertNull($result->getReasonPhrase());
}

public function testNullOn404()
public function testResponseMissingInApiResponse()
{
$response = new MockResponse();
$response->setStatusCode(404);
$context = new Context(MockHelper::getClient()->getGlobalRequest(), $response, MockHelper::getClient());
$result = MockHelper::responseHandler()->nullOn404()->getResult($context);
$this->assertNull($result);
$mockRequest = MockHelper::getClient()->getGlobalRequest()->convert();
$response = new MockApiResponse($mockRequest, null, null, null, null, null);
$this->assertInstanceOf(MockRequest::class, $response->getRequest());
$this->assertTrue($response->isError());
}

public function testApiResponseWith400()
Expand All @@ -800,6 +800,27 @@ public function testApiResponseWith400()
$result = MockHelper::responseHandler()->type(MockClass::class)->returnApiResponse()->getResult($context);
$this->assertInstanceOf(MockApiResponse::class, $result);
$this->assertEquals(['res' => 'This is raw body'], $result->getResult());
$this->assertTrue($result->isError());
}

public function testApiResponseWith100()
{
$response = new MockResponse();
$response->setStatusCode(100);
$context = new Context(MockHelper::getClient()->getGlobalRequest(), $response, MockHelper::getClient());
$result = MockHelper::responseHandler()->type(MockClass::class)->returnApiResponse()->getResult($context);
$this->assertInstanceOf(MockApiResponse::class, $result);
$this->assertEquals(['res' => 'This is raw body'], $result->getResult());
$this->assertTrue($result->isError());
}

public function testNullOn404()
{
$response = new MockResponse();
$response->setStatusCode(404);
$context = new Context(MockHelper::getClient()->getGlobalRequest(), $response, MockHelper::getClient());
$result = MockHelper::responseHandler()->nullOn404()->getResult($context);
$this->assertNull($result);
}

public function testGlobalMockException()
Expand Down

0 comments on commit be2aa53

Please sign in to comment.