Expand factory tests.

This commit is contained in:
James Cole
2018-03-01 20:54:50 +01:00
parent 5b8479f3a4
commit 06dc8a499b
25 changed files with 2384 additions and 135 deletions

View File

@@ -25,7 +25,6 @@ namespace FireflyIII\Factory;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\User;
/**
@@ -33,19 +32,9 @@ use FireflyIII\User;
*/
class PiggyBankFactory
{
/** @var PiggyBankRepositoryInterface */
private $repository;
/** @var User */
private $user;
/**
* PiggyBankFactory constructor.
*/
public function __construct()
{
$this->repository = app(PiggyBankRepositoryInterface::class);
}
/**
* @param int|null $piggyBankId
* @param null|string $piggyBankName
@@ -62,7 +51,7 @@ class PiggyBankFactory
// first find by ID:
if ($piggyBankId > 0) {
/** @var PiggyBank $piggyBank */
$piggyBank = $this->repository->find($piggyBankId);
$piggyBank = $this->user->piggyBanks()->find($piggyBankId);
if (!is_null($piggyBank)) {
return $piggyBank;
}
@@ -71,7 +60,7 @@ class PiggyBankFactory
// then find by name:
if (strlen($piggyBankName) > 0) {
/** @var PiggyBank $piggyBank */
$piggyBank = $this->repository->findByName($piggyBankName);
$piggyBank = $this->findByName($piggyBankName);
if (!is_null($piggyBank)) {
return $piggyBank;
}
@@ -81,13 +70,30 @@ class PiggyBankFactory
}
/**
* @param string $name
*
* @return PiggyBank|null
*/
public function findByName(string $name): ?PiggyBank
{
$set = $this->user->piggyBanks()->get();
/** @var PiggyBank $piggy */
foreach ($set as $piggy) {
if ($piggy->name === $name) {
return $piggy;
}
}
return null;
}
/**
* @param User $user
*/
public function setUser(User $user)
{
$this->user = $user;
$this->repository->setUser($user);
}