. */ declare(strict_types=1); namespace Tests\Unit\TransactionRules\Actions; use FireflyIII\Models\RuleAction; use FireflyIII\TransactionRules\Actions\LinkToBill; use Log; use Tests\TestCase; /** * Class LinkToBillTest */ class LinkToBillTest extends TestCase { /** * */ public function setUp(): void { parent::setUp(); Log::info(sprintf('Now in %s.', get_class($this))); } /** * @covers \FireflyIII\TransactionRules\Actions\LinkToBill */ public function testBasic(): void { $withdrawal = $this->getRandomWithdrawal(); $bill = $this->getRandomBill(); $array = [ 'transaction_journal_id' => $withdrawal->id, 'transaction_type_type' => $withdrawal->transactionType->type, 'user_id' => $this->user()->id, ]; $ruleAction = new RuleAction; $ruleAction->action_type = 'link_to_bill'; $ruleAction->action_value = $bill->name; $action = new LinkToBill($ruleAction); $result = $action->actOnArray($array); $this->assertTrue($result); // withdrawal has bill id. $withdrawal->refresh(); $this->assertEquals($bill->id, $withdrawal->bill_id); $withdrawal->bill_id = null; $withdrawal->save(); } }