. */ declare(strict_types=1); namespace Tests\Unit\TransactionRules\Actions; use FireflyIII\Models\RuleAction; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Actions\ClearCategory; use Tests\TestCase; /** * Class ClearCategoryTest */ class ClearCategoryTest extends TestCase { /** * @covers \FireflyIII\TransactionRules\Actions\ClearCategory::__construct() * @covers \FireflyIII\TransactionRules\Actions\ClearCategory::act() */ public function testAct() { // associate budget with journal: $journal = TransactionJournal::find(5); $category = $journal->user->categories()->first(); $journal->budgets()->save($category); $this->assertGreaterThan(0, $journal->categories()->count()); // fire the action: $ruleAction = new RuleAction; $ruleAction->action_value = null; $action = new ClearCategory($ruleAction); $result = $action->act($journal); $this->assertTrue($result); // assert result $this->assertEquals(0, $journal->categories()->count()); } }