/**
  * @test
  */
 public function get_job_status_on_failed_response()
 {
     $client = $this->prophesize(Auth::class);
     $userUpload = new UserUpload($client->reveal());
     $uploadTicket = new UploadTicket();
     $uploadTicket->setMemberId(123456);
     $uploadTicket->setJobId('a_job_id');
     $fakeResponse = $this->getFakeResponse($this->getFailedResponse());
     $client->request(Argument::any(), Argument::any())->willReturn($fakeResponse);
     $this->expectException(UploadException::class);
     $userUpload->getJobStatus($uploadTicket);
 }
Beispiel #2
0
 /**
  * @param UploadTicket $uploadTicket
  *
  * @return UploadJobStatus
  * @throws UploadException
  */
 public function getJobStatus(UploadTicket $uploadTicket)
 {
     $compiledUrl = $this->baseUrl . "?member_id={$uploadTicket->getMemberId()}&job_id={$uploadTicket->getJobId()}";
     $response = $this->client->request('GET', $compiledUrl);
     $repositoryResponse = RepositoryResponse::fromResponse($response);
     if (!$repositoryResponse->isSuccessful()) {
         throw UploadException::failed($repositoryResponse);
     }
     if (!isset($repositoryResponse->getResponseAsArray()['response']['batch_segment_upload_job'][0])) {
         throw UploadException::missingIndex('response->batch_segment_upload_job->0');
     }
     $uploadJobStatus = UploadJobStatus::fromArray($repositoryResponse->getResponseAsArray()['response']['batch_segment_upload_job'][0]);
     return $uploadJobStatus;
 }