public function testDecide()
 {
     $this->transport->shouldReceive('performRequest')->once()->andReturn(['json' => [['id_category' => 12, 'name' => 'Category Name']]]);
     $namespace = new CategoriesNamespace($this->transport);
     $result = $namespace->decide(CategoryDecideTransfer::make(['item' => ['title' => 'iphone', 'description' => 'iphone 5'], 'price' => 500000]));
     $this->assertTrue(is_array($result));
     $this->assertEquals(1, count($result));
     $this->assertInstanceOf('\\Hitmeister\\Component\\Api\\Transfers\\CategoryTransfer', $result[0]);
 }
 /**
  * @param array|CategoryDecideTransfer $data
  * @return array|CategoryTransfer[]
  */
 public function decide($data)
 {
     if (!$data instanceof CategoryDecideTransfer) {
         if (!is_array($data)) {
             throw new InvalidArgumentException('Data argument should be an array of instance of CategoryDecideTransfer');
         }
         $data = CategoryDecideTransfer::make($data);
     }
     $endpoint = new Decide($this->getTransport());
     $endpoint->setTransfer($data);
     $resultRequest = $endpoint->performRequest();
     Response::checkBody($resultRequest);
     $result = [];
     foreach ($resultRequest['json'] as $item) {
         $result[] = CategoryTransfer::make($item);
     }
     return $result;
 }