. */ declare(strict_types=1); namespace Tests\Unit\Transformers; use Carbon\Carbon; use FireflyIII\Models\CurrencyExchangeRate; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Transformers\CurrencyExchangeRateTransformer; use Log; use Symfony\Component\HttpFoundation\ParameterBag; use Tests\TestCase; /** * * Class CurrencyExchangeRateTransformerTest */ class CurrencyExchangeRateTransformerTest extends TestCase { /** * */ public function setUp(): void { parent::setUp(); Log::info(sprintf('Now in %s.', get_class($this))); } /** * @covers \FireflyIII\Transformers\CurrencyExchangeRateTransformer */ public function testBasic() { $date = new Carbon; $eur = TransactionCurrency::whereCode('EUR')->first(); $usd = TransactionCurrency::whereCode('USD')->first(); $cer = new CurrencyExchangeRate; $cer->from_currency_id = $eur->id; $cer->to_currency_id = $usd->id; $cer->created_at = new Carbon; $cer->updated_at = new Carbon; $cer->rate = 1.5; $cer->date = $date; $parameters = new ParameterBag; $parameters->set('amount', '100'); $transformer = app(CurrencyExchangeRateTransformer::class); $transformer->setParameters($parameters); $result = $transformer->transform($cer); $this->assertEquals($cer->from_currency_id, $result['from_currency_id']); $this->assertEquals(150, $result['amount']); } }