. */ declare(strict_types=1); namespace Tests\Unit\TransactionRules\Actions; use FireflyIII\Models\RuleAction; use FireflyIII\TransactionRules\Actions\SetDescription; use Tests\TestCase; /** * Class SetDescriptionTest */ class SetDescriptionTest extends TestCase { /** * @covers \FireflyIII\TransactionRules\Actions\SetDescription */ public function testAct(): void { $withdrawal = $this->getRandomWithdrawal(); $newDescription = sprintf('new description #%d', $this->randomInt()); $oldDescription = $withdrawal->description; // get journal, give fixed description $array = [ 'description' => $oldDescription, 'transaction_journal_id' => $withdrawal->id, ]; // fire the action: $ruleAction = new RuleAction; $ruleAction->action_value = $newDescription; $action = new SetDescription($ruleAction); $result = $action->actOnArray($array); $this->assertTrue($result); $withdrawal->refresh(); // assert result $this->assertEquals($newDescription, $withdrawal->description); $withdrawal->description = $oldDescription; $withdrawal->save(); } }