Improved code coverage for events and reports.

This commit is contained in:
James Cole
2018-08-24 16:07:33 +02:00
parent 2b54363dd7
commit 850a0ae17e
14 changed files with 566 additions and 101 deletions

View File

@@ -65,10 +65,10 @@ class APIEventHandler
Log::error($e->getTraceAsString());
Session::flash('error', 'Possible email error: ' . $e->getMessage());
}
// @codeCoverageIgnoreEnd
Log::debug('If no error above this line, message was sent.');
}
// @codeCoverageIgnoreEnd
return true;

View File

@@ -57,16 +57,17 @@ class AdminEventHandler
Log::debug('Trying to send message...');
Mail::to($email)->send(new AdminTestMail($email, $ipAddress));
// @codeCoverageIgnoreStart
// Laravel cannot pretend this process failed during testing.
} catch (Exception $e) {
Log::debug('Send message failed! :(');
Log::error($e->getMessage());
Log::error($e->getTraceAsString());
Session::flash('error', 'Possible email error: ' . $e->getMessage());
}
// @codeCoverageIgnoreEnd
Log::debug('If no error above this line, message was sent.');
}
// @codeCoverageIgnoreEnd
return true;
}
}

View File

@@ -55,12 +55,14 @@ class AutomationHandler
Mail::to($user->email)->send(new ReportNewJournalsMail($user->email, '127.0.0.1', $event->journals));
// @codeCoverageIgnoreStart
} catch (Exception $e) {
Log::debug('Send message failed! :(');
Log::error($e->getMessage());
Log::error($e->getTraceAsString());
}
// @codeCoverageIgnoreEnd
Log::debug('Done!');
}
// @codeCoverageIgnoreEnd
return true;
}
}

View File

@@ -25,8 +25,6 @@ namespace FireflyIII\Handlers\Events;
use FireflyIII\Events\StoredTransactionJournal;
use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleGroup;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface;
use FireflyIII\TransactionRules\Processor;
@@ -35,28 +33,6 @@ use FireflyIII\TransactionRules\Processor;
*/
class StoredJournalEventHandler
{
/** @var JournalRepositoryInterface The journal repository. */
public $journalRepository;
/** @var PiggyBankRepositoryInterface The Piggy bank repository */
public $repository;
/** @var RuleGroupRepositoryInterface The rule group repository */
public $ruleGroupRepository;
/**
* StoredJournalEventHandler constructor.
*
* @param PiggyBankRepositoryInterface $repository
* @param JournalRepositoryInterface $journalRepository
* @param RuleGroupRepositoryInterface $ruleGroupRepository
*/
public function __construct(
PiggyBankRepositoryInterface $repository, JournalRepositoryInterface $journalRepository, RuleGroupRepositoryInterface $ruleGroupRepository
) {
$this->repository = $repository;
$this->journalRepository = $journalRepository;
$this->ruleGroupRepository = $ruleGroupRepository;
}
/**
* This method grabs all the users rules and processes them.
*
@@ -67,13 +43,15 @@ class StoredJournalEventHandler
*/
public function processRules(StoredTransactionJournal $storedJournalEvent): bool
{
// get all the user's rule groups, with the rules, order by 'order'.
$journal = $storedJournalEvent->journal;
$groups = $this->ruleGroupRepository->getActiveGroups($journal->user);
// create objects:
$ruleGroupRepos = app(RuleGroupRepositoryInterface::class);
$groups = $ruleGroupRepos->getActiveGroups($journal->user);
/** @var RuleGroup $group */
foreach ($groups as $group) {
$rules = $this->ruleGroupRepository->getActiveStoreRules($group);
$rules = $ruleGroupRepos->getActiveStoreRules($group);
/** @var Rule $rule */
foreach ($rules as $rule) {
$processor = Processor::make($rule);

View File

@@ -141,12 +141,10 @@ class UserEventHandler
$uri = route('profile.confirm-email-change', [$token->data]);
try {
Mail::to($newEmail)->send(new ConfirmEmailChangeMail($newEmail, $oldEmail, $uri, $ipAddress));
// @codeCoverageIgnoreStart
} catch (Exception $e) {
Log::error($e->getMessage());
}
// @codeCoverageIgnoreEnd
return true;
}
@@ -167,12 +165,10 @@ class UserEventHandler
$uri = route('profile.undo-email-change', [$token->data, hash('sha256', $oldEmail)]);
try {
Mail::to($oldEmail)->send(new UndoEmailChangeMail($newEmail, $oldEmail, $uri, $ipAddress));
// @codeCoverageIgnoreStart
} catch (Exception $e) {
Log::error($e->getMessage());
}
// @codeCoverageIgnoreEnd
return true;
}
@@ -194,13 +190,10 @@ class UserEventHandler
// send email.
try {
Mail::to($email)->send(new RequestedNewPasswordMail($url, $ipAddress));
// @codeCoverageIgnoreStart
} catch (Exception $e) {
Log::error($e->getMessage());
}
// @codeCoverageIgnoreEnd
return true;
}
@@ -224,11 +217,9 @@ class UserEventHandler
// send email.
try {
Mail::to($email)->send(new RegisteredUserMail($uri, $ipAddress));
// @codeCoverageIgnoreStart
} catch (Exception $e) {
Log::error($e->getMessage());
}
// @codeCoverageIgnoreEnd
}
return true;

View File

@@ -56,7 +56,8 @@ class VersionCheckEventHandler
$sandstorm = 1 === (int)getenv('SANDSTORM');
if (true === $sandstorm) {
Log::debug('This is Sandstorm instance, done.');
return; // @codeCoverageIgnore
return;
}
/** @var UserRepositoryInterface $repository */
@@ -65,6 +66,7 @@ class VersionCheckEventHandler
$user = $event->user;
if (!$repository->hasRole($user, 'owner')) {
Log::debug('User is not admin, done.');
return;
}