Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 Line Coverage (%) Cyclomatic Complexity App\Domain\Notification\Service\SmtpEmailService — Coverage: 2.7% | Lines: 37 | Complexity: 7 App\Domain\Notification\Service\CronEmailNotifier — Coverage: 100.0% | Lines: 31 | Complexity: 6 App\Domain\Notification\Service\NotificationDispatcher — Coverage: 100.0% | Lines: 30 | Complexity: 9 App\Domain\Notification\Service\NotificationPreferenceService — Coverage: 100.0% | Lines: 30 | Complexity: 10 App\Domain\Notification\Service\CurlHealthcheckClient — Coverage: 0.0% | Lines: 19 | Complexity: 7 App\Domain\Notification\Service\HealthcheckPinger — Coverage: 100.0% | Lines: 16 | Complexity: 7 App\Domain\Notification\Service\RecordingEmailService — Coverage: 100.0% | Lines: 9 | Complexity: 3

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 2 4 6 8 Line Coverage (%) Cyclomatic Complexity App\Domain\Notification\Service\SmtpEmailService::send — Coverage: 0.0% | Lines: 36 | Complexity: 6 App\Domain\Notification\Service\CurlHealthcheckClient::get — Coverage: 0.0% | Lines: 19 | Complexity: 7 App\Domain\Notification\Service\NotificationDispatcher::dispatch — Coverage: 100.0% | Lines: 18 | Complexity: 4 App\Domain\Notification\Service\CronEmailNotifier::notifyJobFailure — Coverage: 100.0% | Lines: 14 | Complexity: 1 App\Domain\Notification\Service\NotificationPreferenceService::getPreferencesForUser — Coverage: 100.0% | Lines: 14 | Complexity: 3 App\Domain\Notification\Service\NotificationPreferenceService::updatePreferences — Coverage: 100.0% | Lines: 12 | Complexity: 4 App\Domain\Notification\Service\NotificationDispatcher::resolveRecipients — Coverage: 100.0% | Lines: 11 | Complexity: 4 App\Domain\Notification\Service\RecordingEmailService::send — Coverage: 100.0% | Lines: 8 | Complexity: 2 App\Domain\Notification\Service\HealthcheckPinger::send — Coverage: 100.0% | Lines: 7 | Complexity: 2 App\Domain\Notification\Service\CronEmailNotifier::typeFor — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Domain\Notification\Service\CronEmailNotifier::notifyJobSuccess — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Domain\Notification\Service\CronEmailNotifier::notifyJobAnomaly — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Domain\Notification\Service\HealthcheckPinger::pingSuccess — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Domain\Notification\Service\HealthcheckPinger::pingFailure — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Domain\Notification\Service\NotificationPreferenceService::applicableTypesForRole — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Domain\Notification\Service\CronEmailNotifier::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Notification\Service\HealthcheckPinger::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Notification\Service\NotificationDispatcher::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Notification\Service\NotificationPreferenceService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Notification\Service\RecordingEmailService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Notification\Service\SmtpEmailService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
App\Domain\Notification\Service\CurlHealthcheckClient::get560.0%
App\Domain\Notification\Service\SmtpEmailService::send420.0%
App\Domain\Notification\Service\NotificationDispatcher::dispatch4100.0%
App\Domain\Notification\Service\NotificationDispatcher::resolveRecipients4100.0%
App\Domain\Notification\Service\NotificationPreferenceService::updatePreferences4100.0%
App\Domain\Notification\Service\NotificationPreferenceService::getPreferencesForUser3100.0%
App\Domain\Notification\Service\CronEmailNotifier::typeFor2100.0%
App\Domain\Notification\Service\HealthcheckPinger::pingSuccess2100.0%
App\Domain\Notification\Service\HealthcheckPinger::pingFailure2100.0%
App\Domain\Notification\Service\HealthcheckPinger::send2100.0%
App\Domain\Notification\Service\NotificationPreferenceService::applicableTypesForRole2100.0%
App\Domain\Notification\Service\RecordingEmailService::send2100.0%
App\Domain\Notification\Service\CronEmailNotifier::__construct1100.0%
App\Domain\Notification\Service\CronEmailNotifier::notifyJobSuccess1100.0%
App\Domain\Notification\Service\CronEmailNotifier::notifyJobAnomaly1100.0%
App\Domain\Notification\Service\CronEmailNotifier::notifyJobFailure1100.0%
App\Domain\Notification\Service\HealthcheckPinger::__construct1100.0%
App\Domain\Notification\Service\NotificationDispatcher::__construct1100.0%
App\Domain\Notification\Service\NotificationPreferenceService::__construct1100.0%
App\Domain\Notification\Service\RecordingEmailService::__construct1100.0%
App\Domain\Notification\Service\SmtpEmailService::__construct1100.0%