. */ declare(strict_types=1); namespace Tests\Unit\Factory; use FireflyIII\Factory\TransactionCurrencyFactory; use FireflyIII\Models\TransactionCurrency; use Tests\TestCase; /** * Class TransactionCurrencyFactoryTest */ class TransactionCurrencyFactoryTest extends TestCase { /** * @covers \FireflyIII\Factory\TransactionCurrencyFactory */ public function testCreate(): void { /** @var TransactionCurrencyFactory $factory */ $factory = app(TransactionCurrencyFactory::class); $result = $factory->create(['name' => 'OK', 'code' => 'XXA', 'symbol' => 'Z', 'decimal_places' => 2]); $this->assertNotNull($result); $this->assertEquals('XXA', $result->code); } /** * @covers \FireflyIII\Factory\TransactionCurrencyFactory */ public function testCreateEmpty(): void { /** @var TransactionCurrencyFactory $factory */ $factory = app(TransactionCurrencyFactory::class); $result = $factory->create(['name' => null, 'code' => null, 'symbol' => null, 'decimal_places' => null]); $this->assertNull($result); } /** * @covers \FireflyIII\Factory\TransactionCurrencyFactory */ public function testFindByBadCode(): void { /** @var TransactionCurrencyFactory $factory */ $factory = app(TransactionCurrencyFactory::class); $this->assertNull($factory->find(null, 'BAD CODE')); } /** * @covers \FireflyIII\Factory\TransactionCurrencyFactory */ public function testFindByCode(): void { // ; $currency = TransactionCurrency::inRandomOrder()->whereNull('deleted_at')->first(); /** @var TransactionCurrencyFactory $factory */ $factory = app(TransactionCurrencyFactory::class); $result = $factory->find(null, $currency->code); $this->assertEquals($currency->id, $result->id); } /** * @covers \FireflyIII\Factory\TransactionCurrencyFactory */ public function testFindByID(): void { $currency = TransactionCurrency::inRandomOrder()->whereNull('deleted_at')->first(); /** @var TransactionCurrencyFactory $factory */ $factory = app(TransactionCurrencyFactory::class); $result = $factory->find($currency->id, null); $this->assertEquals($currency->id, $result->id); } /** * @covers \FireflyIII\Factory\TransactionCurrencyFactory */ public function testFindNull(): void { /** @var TransactionCurrencyFactory $factory */ $factory = app(TransactionCurrencyFactory::class); $this->assertNull($factory->find(null, null)); } }