Improve transformer coverage.

This commit is contained in:
James Cole
2018-12-20 20:50:05 +01:00
parent 6f54f41946
commit 84b3195e9b
15 changed files with 423 additions and 196 deletions

View File

@@ -27,15 +27,17 @@ namespace FireflyIII\Transformers;
use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleAction;
use FireflyIII\Models\RuleTrigger;
use League\Fractal\TransformerAbstract;
use FireflyIII\Repositories\Rule\RuleRepositoryInterface;
use Log;
use Symfony\Component\HttpFoundation\ParameterBag;
/**
* Class RuleTransformer
*/
class RuleTransformer extends AbstractTransformer
{
/** @var RuleRepositoryInterface */
private $ruleRepository;
/**
* CurrencyTransformer constructor.
*
@@ -43,6 +45,7 @@ class RuleTransformer extends AbstractTransformer
*/
public function __construct()
{
$this->ruleRepository = app(RuleRepositoryInterface::class);
if ('testing' === config('app.env')) {
Log::warning(sprintf('%s should not be instantiated in the TEST environment!', \get_class($this)));
}
@@ -57,6 +60,8 @@ class RuleTransformer extends AbstractTransformer
*/
public function transform(Rule $rule): array
{
$this->ruleRepository->setUser($rule->user);
$data = [
'id' => (int)$rule->id,
'created_at' => $rule->created_at->toAtomString(),
@@ -89,7 +94,7 @@ class RuleTransformer extends AbstractTransformer
private function actions(Rule $rule): array
{
$result = [];
$actions = $rule->ruleActions()->orderBy('order', 'ASC')->get();
$actions = $this->ruleRepository->getRuleActions($rule);
/** @var RuleAction $ruleAction */
foreach ($actions as $ruleAction) {
$result[] = [
@@ -115,7 +120,7 @@ class RuleTransformer extends AbstractTransformer
private function triggers(Rule $rule): array
{
$result = [];
$triggers = $rule->ruleTriggers()->orderBy('order', 'ASC')->get();
$triggers = $this->ruleRepository->getRuleTriggers($rule);
/** @var RuleTrigger $ruleTrigger */
foreach ($triggers as $ruleTrigger) {
$result[] = [