Small adjustments to fix tests.

This commit is contained in:
James Cole
2018-02-23 16:21:28 +01:00
parent d804093f8b
commit 6591fa9fb4
13 changed files with 192 additions and 41 deletions

View File

@@ -73,6 +73,9 @@ trait JournalServiceTrait
$factory = app(TagFactory::class);
$factory->setUser($journal->user);
$set = [];
if (!is_array($data['tags'])) {
return;
}
foreach ($data['tags'] as $string) {
if (strlen($string) > 0) {
$tag = $factory->findOrCreate($string);

View File

@@ -23,10 +23,7 @@ declare(strict_types=1);
namespace FireflyIII\Services\Internal\Update;
use FireflyIII\Factory\BillFactory;
use FireflyIII\Factory\TagFactory;
use FireflyIII\Factory\TransactionFactory;
use FireflyIII\Factory\TransactionJournalMetaFactory;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Services\Internal\Support\JournalServiceTrait;
@@ -128,4 +125,48 @@ class JournalUpdateService
return $journal;
}
/**
* Update budget for a journal.
*
* @param TransactionJournal $journal
* @param int $budgetId
*
* @return TransactionJournal
*/
public function updateBudget(TransactionJournal $journal, int $budgetId): TransactionJournal
{
/** @var TransactionUpdateService $service */
$service = app(TransactionUpdateService::class);
$service->setUser($this->user);
/** @var Transaction $transaction */
foreach ($journal->transactions as $transaction) {
$service->updateBudget($transaction, $budgetId);
}
return $journal;
}
/**
* Update category for a journal.
*
* @param TransactionJournal $journal
* @param string $category
*
* @return TransactionJournal
*/
public function updateCategory(TransactionJournal $journal, string $category): TransactionJournal
{
/** @var TransactionUpdateService $service */
$service = app(TransactionUpdateService::class);
$service->setUser($this->user);
/** @var Transaction $transaction */
foreach ($journal->transactions as $transaction) {
$service->updateCategory($transaction, $category);
}
return $journal;
}
}

View File

@@ -38,7 +38,6 @@ class TransactionUpdateService
/** @var User */
private $user;
/**
* @param int $transactionId
*
@@ -130,5 +129,36 @@ class TransactionUpdateService
return $transaction;
}
/**
* Update budget for a journal.
*
* @param Transaction $transaction
* @param int $budgetId
*
* @return Transaction
*/
public function updateBudget(Transaction $transaction, int $budgetId): Transaction
{
$budget = $this->findBudget($budgetId, null);
$this->setBudget($transaction, $budget);
return $transaction;
}
/**
* Update category for a journal.
*
* @param Transaction $transaction
* @param string $category
*
* @return Transaction
*/
public function updateCategory(Transaction $transaction, string $category): Transaction
{
$category = $this->findCategory(0, $category);
$this->setCategory($transaction, $category);
return $category;
}
}