. */ declare(strict_types=1); namespace Tests\Unit\TransactionRules\Triggers; use FireflyIII\Models\Note; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Triggers\NotesContain; use Tests\TestCase; /** * Class NotesContainTest */ class NotesContainTest extends TestCase { /** * @covers \FireflyIII\TransactionRules\Triggers\NotesContain::triggered */ public function testTriggered() { $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $journal->notes()->delete(); $note = new Note(); $note->noteable()->associate($journal); $note->text = 'Bla bliepbla bla'; $note->save(); $trigger = NotesContain::makeFromStrings('blIEp', false); $result = $trigger->triggered($journal); $this->assertTrue($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\NotesContain::triggered */ public function testTriggeredDifferent() { $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $journal->notes()->delete(); $note = new Note(); $note->noteable()->associate($journal); $note->text = 'Some note'; $note->save(); $trigger = NotesContain::makeFromStrings('82991911', false); $result = $trigger->triggered($journal); $this->assertFalse($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\NotesContain::triggered */ public function testTriggeredEmpty() { $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $journal->notes()->delete(); $note = new Note(); $note->noteable()->associate($journal); $note->text = ''; $note->save(); $trigger = NotesContain::makeFromStrings('', false); $result = $trigger->triggered($journal); $this->assertFalse($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\NotesContain::triggered */ public function testTriggeredNone() { $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $journal->notes()->delete(); $trigger = NotesContain::makeFromStrings('Bla bla', false); $result = $trigger->triggered($journal); $this->assertFalse($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\NotesContain::triggered */ public function testTriggeredPartial() { $journal = TransactionJournal::inRandomOrder()->whereNull('deleted_at')->first(); $journal->notes()->delete(); $note = new Note(); $note->noteable()->associate($journal); $note->text = 'Some note'; $note->save(); $trigger = NotesContain::makeFromStrings('Some note contains', false); $result = $trigger->triggered($journal); $this->assertFalse($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\NotesContain::willMatchEverything */ public function testWillMatchEverythingEmpty() { $value = ''; $result = NotesContain::willMatchEverything($value); $this->assertTrue($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\NotesContain::willMatchEverything */ public function testWillMatchEverythingNotNull() { $value = 'x'; $result = NotesContain::willMatchEverything($value); $this->assertFalse($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\NotesContain::willMatchEverything */ public function testWillMatchEverythingNull() { $value = null; $result = NotesContain::willMatchEverything($value); $this->assertTrue($result); } }