. */ declare(strict_types=1); namespace Tests\Unit\Factory; use FireflyIII\Factory\BudgetFactory; use Tests\TestCase; /** * Class BudgetFactoryTest */ class BudgetFactoryTest extends TestCase { /** * Put in ID, return it. * * @covers \FireflyIII\Factory\BudgetFactory */ public function testFindById() { $existing = $this->user()->budgets()->first(); /** @var BudgetFactory $factory */ $factory = app(BudgetFactory::class); $factory->setUser($this->user()); $budget = $factory->find($existing->id, null); $this->assertEquals($existing->id, $budget->id); } /** * Put in name, return it. * * @covers \FireflyIII\Factory\BudgetFactory */ public function testFindByName() { $existing = $this->user()->budgets()->first(); /** @var BudgetFactory $factory */ $factory = app(BudgetFactory::class); $factory->setUser($this->user()); $budget = $factory->find(null, $existing->name); $this->assertEquals($existing->id, $budget->id); } /** * Put in NULL, will find NULL. * * @covers \FireflyIII\Factory\BudgetFactory */ public function testFindNull() { /** @var BudgetFactory $factory */ $factory = app(BudgetFactory::class); $factory->setUser($this->user()); $this->assertNull($factory->find(null, null)); } /** * Put in unknown, get NULL * * @covers \FireflyIII\Factory\BudgetFactory */ public function testFindUnknown() { /** @var BudgetFactory $factory */ $factory = app(BudgetFactory::class); $factory->setUser($this->user()); $this->assertNull($factory->find(null, 'I dont exist.' . random_int(1, 1000))); } }