Skip to content

Commit f2ddfae

Browse files
committed
Extra checks before using response and added tests for new entity
1 parent 45744ff commit f2ddfae

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/Picqer/Financials/Moneybird/Model.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -260,15 +260,19 @@ public function selfFromResponse($response)
260260

261261
foreach ($this->getSingleNestedEntities() as $key => $value)
262262
{
263-
$entityName = 'Picqer\Financials\Moneybird\Entities\\' . $value;
264-
$this->$key = new $entityName($this->connection, $response[$key]);
263+
if (isset($response[$key])) {
264+
$entityName = 'Picqer\Financials\Moneybird\Entities\\' . $value;
265+
$this->$key = new $entityName($this->connection, $response[$key]);
266+
}
265267
}
266268

267269
foreach ($this->getMultipleNestedEntities() as $key => $value)
268270
{
269-
$entityName = 'Picqer\Financials\Moneybird\Entities\\' . $value['entity'];
270-
$instaniatedEntity = new $entityName($this->connection);
271-
$this->$key = $instaniatedEntity->collectionFromResult($response[$key]);
271+
if (isset($response[$key])) {
272+
$entityName = 'Picqer\Financials\Moneybird\Entities\\' . $value['entity'];
273+
$instaniatedEntity = new $entityName($this->connection);
274+
$this->$key = $instaniatedEntity->collectionFromResult($response[$key]);
275+
}
272276
}
273277

274278
return $this;

tests/EntityTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ public function testContactEntity()
1919
$this->performEntityTest('\Picqer\Financials\Moneybird\Entities\Contact');
2020
}
2121

22+
public function testContactCustomFieldEntity()
23+
{
24+
$this->performEntityTest('\Picqer\Financials\Moneybird\Entities\ContactCustomField');
25+
}
26+
2227
public function testCustomFieldEntity()
2328
{
2429
$this->performEntityTest('\Picqer\Financials\Moneybird\Entities\CustomField');

0 commit comments

Comments
 (0)