/** * @test */ public function itShouldReturnAValidCurrencyPairGivenTwoCurrencies() { $currencyFrom = new Currency(Currency::CURRENCY_CODE_EURO); $currencyTo = new Currency(Currency::CURRENCY_CODE_US_DOLLAR); $request = new GetCurrencyPairRatioRequest($currencyFrom, $currencyTo); $expectedCurrencyPair = new CurrencyPair($currencyFrom, $currencyTo, 1.5); $this->service->shouldReceive('execute')->andReturn($expectedCurrencyPair); $expectedResponse = new GetCurrencyPairRatioResponse($expectedCurrencyPair); $response = $this->useCase->execute($request); $this->assertEquals($expectedResponse->currencyPair(), $response->currencyPair()); }
/** * @param GetCurrencyPairRatioResponse $response * * @return mixed */ public function present(GetCurrencyPairRatioResponse $response) { return new CurrencyPairResource($response->currencyPair()); }