diff --git a/src/Message/GetUserDomainsResponse.php b/src/Message/GetUserDomainsResponse.php index 4c7b1b5..391ddac 100644 --- a/src/Message/GetUserDomainsResponse.php +++ b/src/Message/GetUserDomainsResponse.php @@ -58,6 +58,10 @@ public function getStatus() { if ($this->isSuccessful()) { $data = json_decode($this->getData(), true); + + if ($data == null) { + return null; + } $statuses = array_unique(array_map(function ($item) { return $item[0]; diff --git a/tests/Message/GetUserDomainsRequestTest.php b/tests/Message/GetUserDomainsRequestTest.php index ae60567..d87ef81 100644 --- a/tests/Message/GetUserDomainsRequestTest.php +++ b/tests/Message/GetUserDomainsRequestTest.php @@ -25,6 +25,17 @@ public function setUp() $this->request->initialize($this->requestData); } + public function testNullServerResponse(){ + // Ensure $response->getStatus() returned `null` if the server responded with "null" + $this->mockHandler->append(new Response(200, [], 'null')); + + $response = $this->request->send(); + $this->assertInstanceOf(GetUserDomainsResponse::class, $response); + $this->assertEquals(null, $response->getStatus()); + + $this->assertValidGetCall('getuserdomains'); + } + public function testGetData() { $data = $this->request->getData();