public function testAddUpdate() { $model = new Items($this->getEntityManagerMock()); $item = new Item(); $item->setId(1)->setPrice(22)->setDescription('Description')->setName('name'); $apiResponse = new ApiResponse(); $model->saveItem($item, $apiResponse); $response = $apiResponse->getResponse(); $this->assertInstanceOf(JsonResponse::class, $response); $this->assertSame(Response::HTTP_OK, $response->getStatusCode()); }
/** * @param string $rawItem * @param null $id * @return Item * @throws ApiTransformationException */ public function transform($rawItem, $id = null) { $item = new Item(); $item->setId($id); foreach (json_decode($rawItem) as $key => $value) { $setter = 'set' . ucfirst($key); if (!method_exists($item, $setter)) { throw new ApiTransformationException(); } $item->{$setter}($value); } return $item; }