. */ declare(strict_types=1); namespace Tests\Unit\TransactionRules\Actions; use FireflyIII\Models\Note; use FireflyIII\Models\RuleAction; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Actions\PrependNotes; use Tests\TestCase; /** * Class PrependNotesTest */ class PrependNotesTest extends TestCase { /** * @covers \FireflyIII\TransactionRules\Actions\PrependNotes */ public function testAct(): void { // give journal some notes. $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $note = $journal->notes()->first(); $start = 'Default note text'; $toPrepend = 'This is prepended'; if (null === $note) { $note = new Note(); $note->noteable()->associate($journal); } $note->text = $start; $note->save(); // fire the action: $ruleAction = new RuleAction; $ruleAction->action_value = $toPrepend; $action = new PrependNotes($ruleAction); $result = $action->act($journal); $this->assertTrue($result); $newNote = $journal->notes()->first(); $this->assertEquals($toPrepend . $start, $newNote->text); } /** * @covers \FireflyIII\TransactionRules\Actions\PrependNotes() * @covers \FireflyIII\TransactionRules\Actions\PrependNotes */ public function testActNewNote(): void { // give journal some notes. $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $note = $journal->notes()->first(); if (null !== $note) { $note->forceDelete(); } $toPrepend = 'This is appended'; // fire the action: $ruleAction = new RuleAction; $ruleAction->action_value = $toPrepend; $action = new PrependNotes($ruleAction); $result = $action->act($journal); $this->assertTrue($result); $newNote = $journal->notes()->first(); $this->assertEquals($toPrepend, $newNote->text); } }