mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-05-04 13:16:31 +00:00
Start testing new rule actions.
This commit is contained in:
@@ -23,16 +23,12 @@ declare(strict_types=1);
|
||||
namespace Tests\Unit\TransactionRules\Actions;
|
||||
|
||||
use FireflyIII\Models\RuleAction;
|
||||
use FireflyIII\Models\Transaction;
|
||||
use FireflyIII\TransactionRules\Actions\ClearCategory;
|
||||
use Log;
|
||||
use Tests\TestCase;
|
||||
|
||||
/**
|
||||
* Class ClearCategoryTest
|
||||
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
|
||||
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
|
||||
* @SuppressWarnings(PHPMD.TooManyPublicMethods)
|
||||
*/
|
||||
class ClearCategoryTest extends TestCase
|
||||
{
|
||||
@@ -41,9 +37,6 @@ class ClearCategoryTest extends TestCase
|
||||
*/
|
||||
public function setUp(): void
|
||||
{
|
||||
self::markTestIncomplete('Incomplete for refactor.');
|
||||
|
||||
return;
|
||||
parent::setUp();
|
||||
Log::info(sprintf('Now in %s.', get_class($this)));
|
||||
}
|
||||
@@ -54,24 +47,25 @@ class ClearCategoryTest extends TestCase
|
||||
public function testAct(): void
|
||||
{
|
||||
// associate budget with journal:
|
||||
$journal = $this->getRandomWithdrawal();
|
||||
$category = $this->getRandomCategory();;
|
||||
$journal = $this->user()->transactionJournals()->where('description', 'Rule action test transaction.')->first();
|
||||
$category = $this->user()->categories()->inRandomOrder()->first();
|
||||
|
||||
// link a budget.
|
||||
$journal->categories()->save($category);
|
||||
$this->assertGreaterThan(0, $journal->categories()->count());
|
||||
|
||||
$array = [
|
||||
'transaction_journal_id' => $journal->id,
|
||||
];
|
||||
|
||||
// fire the action:
|
||||
$ruleAction = new RuleAction;
|
||||
$ruleAction->action_value = null;
|
||||
$action = new ClearCategory($ruleAction);
|
||||
$result = $action->act($journal);
|
||||
$result = $action->actOnArray($array);
|
||||
$this->assertTrue($result);
|
||||
|
||||
// assert result
|
||||
$this->assertEquals(0, $journal->categories()->count());
|
||||
|
||||
/** @var Transaction $transaction */
|
||||
foreach ($journal->transactions as $transaction) {
|
||||
$this->assertEquals(0, $transaction->categories()->count());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user