. */ declare(strict_types=1); namespace Tests\Unit\Transformers; use FireflyIII\Models\AvailableBudget; use FireflyIII\Transformers\AvailableBudgetTransformer; use Log; use Symfony\Component\HttpFoundation\ParameterBag; use Tests\TestCase; /** * Class AvailableBudgetTransformerTest */ class AvailableBudgetTransformerTest extends TestCase { /** * */ public function setUp(): void { parent::setUp(); Log::info(sprintf('Now in %s.', \get_class($this))); } /** * Test basic transformer * * @covers \FireflyIII\Transformers\AvailableBudgetTransformer */ public function testBasic(): void { /** @var AvailableBudget $availableBudget */ $availableBudget = AvailableBudget::first(); $currency = $availableBudget->transactionCurrency; // make transformer $transformer = app(AvailableBudgetTransformer::class); $transformer->setParameters(new ParameterBag); $result = $transformer->transform($availableBudget); // test results $this->assertEquals($availableBudget->id, $result['id']); $this->assertEquals($currency->id, $result['currency_id']); $this->assertEquals($availableBudget->start_date->format('Y-m-d'), $result['start']); $this->assertEquals(round($availableBudget->amount, 2), $result['amount']); } }