Improve tests for transaction rules.

This commit is contained in:
James Cole
2018-03-04 16:42:29 +01:00
parent 04b8552d27
commit d22fb9f438
5 changed files with 35 additions and 3 deletions

View File

@@ -24,6 +24,7 @@ namespace FireflyIII\TransactionRules\Actions;
use FireflyIII\Models\Category;
use FireflyIII\Models\RuleAction;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
use Log;
@@ -56,7 +57,16 @@ class SetCategory implements ActionInterface
{
$name = $this->action->action_value;
$category = Category::firstOrCreateEncrypted(['name' => $name, 'user_id' => $journal->user->id]);
$journal->categories()->sync([$category->id]);
$journal->categories()->detach();
// set category on transactions:
/** @var Transaction $transaction */
foreach ($journal->transaction as $transaction) {
$transaction->categories()->sync([$category->id]);
}
$journal->touch();
$journal->touch();
Log::debug(sprintf('RuleAction SetCategory set the category of journal #%d to budget #%d ("%s").', $journal->id, $category->id, $category->name));