. */ declare(strict_types=1); namespace Tests\Unit\TransactionRules\Triggers; use FireflyIII\Models\TransactionJournal; use FireflyIII\TransactionRules\Triggers\FromAccountStarts; use Tests\TestCase; /** * Class FromAccountStartsTest */ class FromAccountStartsTest extends TestCase { /** * @covers \FireflyIII\TransactionRules\Triggers\FromAccountStarts::triggered */ public function testTriggered() { $journal = TransactionJournal::find(22); $transaction = $journal->transactions()->where('amount', '<', 0)->first(); $account = $transaction->account; $trigger = FromAccountStarts::makeFromStrings(substr($account->name, 0, -3), false); $result = $trigger->triggered($journal); $this->assertTrue($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\FromAccountStarts::triggered */ public function testTriggeredLonger() { $journal = TransactionJournal::find(22); $transaction = $journal->transactions()->where('amount', '<', 0)->first(); $account = $transaction->account; $trigger = FromAccountStarts::makeFromStrings('bla-bla-bla' . $account->name, false); $result = $trigger->triggered($journal); $this->assertFalse($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\FromAccountStarts::triggered */ public function testTriggeredNot() { $journal = TransactionJournal::find(23); $trigger = FromAccountStarts::makeFromStrings('some name' . rand(1, 234), false); $result = $trigger->triggered($journal); $this->assertFalse($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\FromAccountStarts::willMatchEverything */ public function testWillMatchEverythingEmpty() { $value = ''; $result = FromAccountStarts::willMatchEverything($value); $this->assertTrue($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\FromAccountStarts::willMatchEverything */ public function testWillMatchEverythingNotNull() { $value = 'x'; $result = FromAccountStarts::willMatchEverything($value); $this->assertFalse($result); } /** * @covers \FireflyIII\TransactionRules\Triggers\FromAccountStarts::willMatchEverything */ public function testWillMatchEverythingNull() { $value = null; $result = FromAccountStarts::willMatchEverything($value); $this->assertTrue($result); } }