. */ 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\AppendNotes; use Log; use Tests\TestCase; use DB; /** * Class AppendNotesTest */ class AppendNotesTest extends TestCase { /** * */ public function setUp(): void { parent::setUp(); Log::info(sprintf('Now in %s.', get_class($this))); } /** * @covers \FireflyIII\TransactionRules\Actions\AppendNotes */ public function testActOnArray(): void { // give journal some notes. $journal = $this->user()->transactionJournals()->where('description','Rule action note test transaction.')->first(); // make sure all notes deleted: DB::table('notes')->where('noteable_id', $journal->id)->where('noteable_type', TransactionJournal::class)->delete(); // array for action: $array = [ 'transaction_journal_id' => $journal->id ]; $toAppend = 'Text to append to note.'; // fire the action: $ruleAction = new RuleAction; $ruleAction->action_value = $toAppend; $action = new AppendNotes($ruleAction); $result = $action->actOnArray($array); $this->assertTrue($result); $newNote = $journal->notes()->first(); $this->assertEquals($toAppend, $newNote->text); } }