public function testInstance()
 {
     /** @var \Mockery\Mock|\Hitmeister\Component\Api\Transfers\UnitUpdateTransfer $transfer */
     $transfer = \Mockery::mock('\\Hitmeister\\Component\\Api\\Transfers\\UnitUpdateTransfer');
     $transfer->shouldReceive('toArray')->once()->andReturn(['condition' => 'new']);
     $update = new Update($this->transport);
     $update->setId(10);
     $update->setTransfer($transfer);
     $this->assertInstanceOf('\\Hitmeister\\Component\\Api\\Transfers\\UnitUpdateTransfer', $update->getTransfer());
     $this->assertEquals(10, $update->getId());
     $this->assertEquals([], $update->getParamWhiteList());
     $this->assertEquals('PATCH', $update->getMethod());
     $this->assertEquals('units/10/', $update->getURI());
     $body = $update->getBody();
     $this->assertArrayHasKey('condition', $body);
 }
 /**
  * @param int                      $id
  * @param array|UnitUpdateTransfer $data
  * @return bool
  */
 public function update($id, $data)
 {
     if (!$data instanceof UnitUpdateTransfer) {
         if (!is_array($data)) {
             throw new InvalidArgumentException('Data argument should be an array of instance of UnitUpdateTransfer');
         }
         $data = UnitUpdateTransfer::make($data);
     }
     $endpoint = new Update($this->getTransport());
     $endpoint->setId($id);
     $endpoint->setTransfer($data);
     try {
         $result = $endpoint->performRequest();
     } catch (ResourceNotFoundException $e) {
         return false;
     }
     return $result['status'] == 204;
 }