public function testInstance() { /** @var \Mockery\Mock|\Hitmeister\Component\Api\Transfers\OrderUnitCancelTransfer $transfer */ $transfer = \Mockery::mock('\\Hitmeister\\Component\\Api\\Transfers\\OrderUnitCancelTransfer'); $transfer->shouldReceive('toArray')->once()->andReturn(['reason' => 'wrong item']); $cancel = new Cancel($this->transport); $cancel->setId(1); $cancel->setTransfer($transfer); $this->assertInstanceOf('\\Hitmeister\\Component\\Api\\Transfers\\OrderUnitCancelTransfer', $cancel->getTransfer()); $this->assertEquals([], $cancel->getParamWhiteList()); $this->assertEquals('PATCH', $cancel->getMethod()); $this->assertEquals('order-units/1/cancel/', $cancel->getURI()); $body = $cancel->getBody(); $this->assertArrayHasKey('reason', $body); }
/** * @param int $id * @param string|null $reason * @return bool */ public function cancel($id, $reason = null) { $data = new OrderUnitCancelTransfer(); if (null !== $reason) { $data->reason = $reason; } $endpoint = new Cancel($this->getTransport()); $endpoint->setId($id); $endpoint->setTransfer($data); try { $result = $endpoint->performRequest(); } catch (ResourceNotFoundException $e) { return false; } return $result['status'] == 204; }