Ejemplo n.º 1
0
 /**
  * Retrieves last added contract to the broker for all providers.
  *
  * @param ResponseFormatter $responseFormatter
  *
  * @return Contract
  * @throws PactBrokerException
  */
 public function retrieveLastAddedPact(ResponseFormatter $responseFormatter = null)
 {
     $request = $this->requestBuilder->createRetrieveLastAddedPact($this->baseUrl);
     $response = $this->client->sendRequest($request);
     $this->checkIfResponseIsCorrect($response);
     return new Contract($response->getHeader('X-Pact-Consumer-Version') ? $response->getHeader('X-Pact-Consumer-Version')[0] : '', $responseFormatter ? $responseFormatter->format($response) : $response);
 }
 function it_should_return_empty_string_if_no_version_passed(RequestInterface $request, ResponseInterface $response, ResponseFormatter $responseFormatter)
 {
     $this->requestBuilder->createRetrieveLastAddedPact($this->baseUrl)->willReturn($request);
     $this->client->sendRequest($request)->willReturn($response);
     $response->getStatusCode()->willReturn(200);
     $response->getHeader('X-Pact-Consumer-Version')->willReturn([]);
     $responseFormatter->format($response)->willReturn('some');
     $contract = $this->retrieveLastAddedPact($responseFormatter);
     $contract->shouldHaveType(Contract::class);
     $contract->data()->shouldReturn('some');
     $contract->version()->shouldReturn('');
 }