Make event handlers easier to test (and then ignore them).

This commit is contained in:
James Cole
2017-04-28 10:34:11 +02:00
parent 29ff92f833
commit 5de8fce156
4 changed files with 96 additions and 26 deletions

View File

@@ -92,6 +92,46 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
return $this->user->ruleGroups()->orderBy('order', 'ASC')->get();
}
/**
* @param User $user
*
* @return Collection
*/
public function getActiveGroups(User $user): Collection
{
return $user->ruleGroups()->where('rule_groups.active', 1)->orderBy('order', 'ASC')->get(['rule_groups.*']);
}
/**
* @param RuleGroup $group
*
* @return Collection
*/
public function getActiveStoreRules(RuleGroup $group): Collection
{
return $group->rules()
->leftJoin('rule_triggers', 'rules.id', '=', 'rule_triggers.rule_id')
->where('rule_triggers.trigger_type', 'user_action')
->where('rule_triggers.trigger_value', 'store-journal')
->where('rules.active', 1)
->get(['rules.*']);
}
/**
* @param RuleGroup $group
*
* @return Collection
*/
public function getActiveUpdateRules(RuleGroup $group): Collection
{
return $group->rules()
->leftJoin('rule_triggers', 'rules.id', '=', 'rule_triggers.rule_id')
->where('rule_triggers.trigger_type', 'user_action')
->where('rule_triggers.trigger_value', 'update-journal')
->where('rules.active', 1)
->get(['rules.*']);
}
/**
* @return int
*/

View File

@@ -53,6 +53,27 @@ interface RuleGroupRepositoryInterface
*/
public function get(): Collection;
/**
* @param User $user
*
* @return Collection
*/
public function getActiveGroups(User $user): Collection;
/**
* @param RuleGroup $group
*
* @return Collection
*/
public function getActiveStoreRules(RuleGroup $group): Collection;
/**
* @param RuleGroup $group
*
* @return Collection
*/
public function getActiveUpdateRules(RuleGroup $group): Collection;
/**
* @return int
*/