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