public function testInstance() { /** @var \Mockery\Mock|\Hitmeister\Component\Api\Transfers\ReportRequestSalesTransfer $transfer */ $transfer = \Mockery::mock('\\Hitmeister\\Component\\Api\\Transfers\\ReportRequestSalesTransfer'); $transfer->shouldReceive('toArray')->once()->andReturn(['ts_from' => '2015-06-01 00:00:00', 'ts_to' => '2015-07-01 00:00:00']); $post = new Sales($this->transport); $post->setTransfer($transfer); $this->assertInstanceOf('\\Hitmeister\\Component\\Api\\Transfers\\ReportRequestSalesTransfer', $post->getTransfer()); $this->assertEquals([], $post->getParamWhiteList()); $this->assertEquals('POST', $post->getMethod()); $this->assertEquals('reports/sales/', $post->getURI()); $body = $post->getBody(); $this->assertArrayHasKey('ts_from', $body); $this->assertArrayHasKey('ts_to', $body); }
/** * @param array $statuses * @param \DateTime|int|string $dateTimeFrom * @param \DateTime|int|string $dateTimeTo * @return int * @throws \Hitmeister\Component\Api\Exceptions\ServerException */ public function sales(array $statuses, $dateTimeFrom, $dateTimeTo) { $data = new ReportRequestSalesTransfer(); $data->status = $statuses; $data->ts_from = Request::formatDateTime($dateTimeFrom); $data->ts_to = Request::formatDateTime($dateTimeTo); $endpoint = new Sales($this->getTransport()); $endpoint->setTransfer($data); $resultRequest = $endpoint->performRequest(); return Response::extractId($resultRequest, '/reports/%d/'); }