Improve test coverage.

This commit is contained in:
James Cole
2019-07-27 13:54:06 +02:00
parent d94d34ca63
commit 67c0ef6ec6
29 changed files with 788 additions and 346 deletions

View File

@@ -28,6 +28,7 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Factory\RecurrenceFactory;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Note;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Models\Preference;
use FireflyIII\Models\Recurrence;
use FireflyIII\Models\RecurrenceMeta;
@@ -208,6 +209,24 @@ class RecurringRepository implements RecurringRepositoryInterface
return '';
}
/**
* @param Recurrence $recurrence
* @return PiggyBank|null
*/
public function getPiggyBank(Recurrence $recurrence): ?PiggyBank
{
$meta = $recurrence->recurrenceMeta;
/** @var RecurrenceMeta $metaEntry */
foreach ($meta as $metaEntry) {
if ('piggy_bank_id' === $metaEntry->name) {
$piggyId = (int)$metaEntry->value;
return $this->user->piggyBanks()->where('id', $piggyId)->first(['piggy_banks.*']);
}
}
return null;
}
/**
* Generate events in the date range.
*

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Repositories\Recurring;
use Carbon\Carbon;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Models\Recurrence;
use FireflyIII\Models\RecurrenceRepetition;
use FireflyIII\Models\RecurrenceTransaction;
@@ -114,12 +115,16 @@ interface RecurringRepositoryInterface
* @param Carbon $start
* @param Carbon $end
*
* @throws FireflyException
*
* @return array
*/
public function getOccurrencesInRange(RecurrenceRepetition $repetition, Carbon $start, Carbon $end): array;
/**
* @param Recurrence $recurrence
* @return PiggyBank|null
*/
public function getPiggyBank(Recurrence $recurrence): ?PiggyBank;
/**
* Get the tags from the recurring transaction.
*