Classes

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

0% 20% 40% 60% 80% 100% 0 20 40 60 80 Line Coverage (%) Cyclomatic Complexity App\Domain\Auth\Service\RegistrationService — Coverage: 91.9% | Lines: 222 | Complexity: 64 App\Domain\Auth\Service\AuthService — Coverage: 97.7% | Lines: 130 | Complexity: 44 App\Domain\Auth\Service\EmailChangeService — Coverage: 84.3% | Lines: 89 | Complexity: 25 App\Domain\Auth\Service\AdminPasswordService — Coverage: 100.0% | Lines: 48 | Complexity: 7 App\Domain\Auth\Service\JwtService — Coverage: 100.0% | Lines: 40 | Complexity: 10 App\Domain\Auth\Service\PasswordResetService — Coverage: 100.0% | Lines: 21 | Complexity: 3 App\Domain\Auth\Service\PasswordService — Coverage: 94.1% | Lines: 17 | Complexity: 10

Methods

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

0% 20% 40% 60% 80% 100% 0 2 4 6 8 10 Line Coverage (%) Cyclomatic Complexity App\Domain\Auth\Service\RegistrationService::registerComplete — Coverage: 89.6% | Lines: 67 | Complexity: 9 App\Domain\Auth\Service\AuthService::login — Coverage: 94.3% | Lines: 35 | Complexity: 9 App\Domain\Auth\Service\EmailChangeService::requestChange — Coverage: 93.3% | Lines: 30 | Complexity: 6 App\Domain\Auth\Service\RegistrationService::createInvestor — Coverage: 95.7% | Lines: 23 | Complexity: 2 App\Domain\Auth\Service\AdminPasswordService::setPasswordForInvestor — Coverage: 100.0% | Lines: 22 | Complexity: 1 App\Domain\Auth\Service\EmailChangeService::confirmChange — Coverage: 77.3% | Lines: 22 | Complexity: 6 App\Domain\Auth\Service\AuthService::refreshToken — Coverage: 100.0% | Lines: 20 | Complexity: 6 App\Domain\Auth\Service\RegistrationService::extractConsents — Coverage: 100.0% | Lines: 20 | Complexity: 7 App\Domain\Auth\Service\AdminPasswordService::sendResetLinkForInvestor — Coverage: 100.0% | Lines: 19 | Complexity: 1 App\Domain\Auth\Service\AuthService::register — Coverage: 94.7% | Lines: 19 | Complexity: 4 App\Domain\Auth\Service\AuthService::generateTokens — Coverage: 100.0% | Lines: 17 | Complexity: 1 App\Domain\Auth\Service\RegistrationService::createAccount — Coverage: 93.8% | Lines: 16 | Complexity: 2 App\Domain\Auth\Service\EmailChangeService::notifyOldAddress — Coverage: 73.3% | Lines: 15 | Complexity: 2 App\Domain\Auth\Service\PasswordResetService::sendResetLink — Coverage: 100.0% | Lines: 15 | Complexity: 1 App\Domain\Auth\Service\AuthService::validatePassword — Coverage: 100.0% | Lines: 14 | Complexity: 6 App\Domain\Auth\Service\RegistrationService::validatePassword — Coverage: 100.0% | Lines: 14 | Complexity: 6 App\Domain\Auth\Service\RegistrationService::validateAllInput — Coverage: 100.0% | Lines: 13 | Complexity: 1 App\Domain\Auth\Service\JwtService::generateAccessToken — Coverage: 100.0% | Lines: 11 | Complexity: 1 App\Domain\Auth\Service\JwtService::generateRefreshToken — Coverage: 100.0% | Lines: 11 | Complexity: 1 App\Domain\Auth\Service\PasswordService::validateStrength — Coverage: 90.9% | Lines: 11 | Complexity: 5 App\Domain\Auth\Service\RegistrationService::validateDateOfBirth — Coverage: 100.0% | Lines: 11 | Complexity: 5 App\Domain\Auth\Service\RegistrationService::generateAccountNumber — Coverage: 81.8% | Lines: 11 | Complexity: 4 App\Domain\Auth\Service\RegistrationService::validateUsername — Coverage: 100.0% | Lines: 9 | Complexity: 5 App\Domain\Auth\Service\AuthService::validateUsername — Coverage: 100.0% | Lines: 8 | Complexity: 5 App\Domain\Auth\Service\AuthService::getCurrentUser — Coverage: 100.0% | Lines: 7 | Complexity: 5 App\Domain\Auth\Service\RegistrationService::validateEmail — Coverage: 100.0% | Lines: 7 | Complexity: 4 App\Domain\Auth\Service\RegistrationService::validateRequiredString — Coverage: 57.1% | Lines: 7 | Complexity: 4 App\Domain\Auth\Service\AdminPasswordService::resolveCustomer — Coverage: 100.0% | Lines: 6 | Complexity: 4 App\Domain\Auth\Service\AuthService::validateEmail — Coverage: 100.0% | Lines: 6 | Complexity: 4 App\Domain\Auth\Service\EmailChangeService::validateEmail — Coverage: 66.7% | Lines: 6 | Complexity: 4 App\Domain\Auth\Service\EmailChangeService::assertEmailAvailable — Coverage: 80.0% | Lines: 5 | Complexity: 4 App\Domain\Auth\Service\EmailChangeService::buildEmailHtml — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Domain\Auth\Service\EmailChangeService::buildChangedNoticeHtml — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Domain\Auth\Service\JwtService::generateTokenPair — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Domain\Auth\Service\PasswordResetService::buildEmailHtml — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Domain\Auth\Service\RegistrationService::validateOptionalString — Coverage: 40.0% | Lines: 5 | Complexity: 3 App\Domain\Auth\Service\RegistrationService::validateState — Coverage: 100.0% | Lines: 5 | Complexity: 3 App\Domain\Auth\Service\RegistrationService::validateZipCode — Coverage: 100.0% | Lines: 5 | Complexity: 3 App\Domain\Auth\Service\RegistrationService::investorEmailExists — Coverage: 80.0% | Lines: 5 | Complexity: 2 App\Domain\Auth\Service\JwtService::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Domain\Auth\Service\JwtService::validateToken — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Domain\Auth\Service\JwtService::decodeToken — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Domain\Auth\Service\PasswordService::__construct — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Domain\Auth\Service\RegistrationService::validatePhone — Coverage: 100.0% | Lines: 3 | Complexity: 3 App\Domain\Auth\Service\AuthService::logout — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Domain\Auth\Service\AdminPasswordService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\AuthService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\AuthService::logoutAllDevices — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\EmailChangeService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\JwtService::getAccessTokenExpiry — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\JwtService::getRefreshTokenExpiry — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\PasswordResetService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\PasswordService::hashPassword — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\PasswordService::verifyPassword — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\PasswordService::needsRehash — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Auth\Service\RegistrationService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
App\Domain\Auth\Service\RegistrationService::registerComplete9.0989.6%
App\Domain\Auth\Service\AuthService::login9.0294.3%
App\Domain\Auth\Service\RegistrationService::extractConsents7100.0%
App\Domain\Auth\Service\EmailChangeService::confirmChange6.4277.3%
App\Domain\Auth\Service\EmailChangeService::requestChange6.0193.3%
App\Domain\Auth\Service\AuthService::refreshToken6100.0%
App\Domain\Auth\Service\AuthService::validatePassword6100.0%
App\Domain\Auth\Service\RegistrationService::validatePassword6100.0%
App\Domain\Auth\Service\RegistrationService::validateRequiredString5.2657.1%
App\Domain\Auth\Service\PasswordService::validateStrength5.0290.9%
App\Domain\Auth\Service\AuthService::getCurrentUser5100.0%
App\Domain\Auth\Service\AuthService::validateUsername5100.0%
App\Domain\Auth\Service\RegistrationService::validateUsername5100.0%
App\Domain\Auth\Service\RegistrationService::validateDateOfBirth5100.0%
App\Domain\Auth\Service\RegistrationService::validateOptionalString4.9440.0%
App\Domain\Auth\Service\EmailChangeService::validateEmail4.5966.7%
App\Domain\Auth\Service\EmailChangeService::assertEmailAvailable4.1380.0%
App\Domain\Auth\Service\RegistrationService::generateAccountNumber4.1081.8%
App\Domain\Auth\Service\AdminPasswordService::resolveCustomer4100.0%
App\Domain\Auth\Service\AuthService::register4.0094.7%
App\Domain\Auth\Service\AuthService::validateEmail4100.0%
App\Domain\Auth\Service\RegistrationService::validateEmail4100.0%
App\Domain\Auth\Service\RegistrationService::validatePhone3100.0%
App\Domain\Auth\Service\RegistrationService::validateState3100.0%
App\Domain\Auth\Service\RegistrationService::validateZipCode3100.0%
App\Domain\Auth\Service\EmailChangeService::notifyOldAddress2.0873.3%
App\Domain\Auth\Service\RegistrationService::investorEmailExists2.0380.0%
App\Domain\Auth\Service\AuthService::logout2100.0%
App\Domain\Auth\Service\JwtService::validateToken2100.0%
App\Domain\Auth\Service\JwtService::decodeToken2100.0%
App\Domain\Auth\Service\PasswordService::__construct2100.0%
App\Domain\Auth\Service\RegistrationService::createInvestor295.7%
App\Domain\Auth\Service\RegistrationService::createAccount2.0093.8%
App\Domain\Auth\Service\AdminPasswordService::__construct1100.0%
App\Domain\Auth\Service\AdminPasswordService::sendResetLinkForInvestor1100.0%
App\Domain\Auth\Service\AdminPasswordService::setPasswordForInvestor1100.0%
App\Domain\Auth\Service\AuthService::__construct1100.0%
App\Domain\Auth\Service\AuthService::generateTokens1100.0%
App\Domain\Auth\Service\AuthService::logoutAllDevices1100.0%
App\Domain\Auth\Service\EmailChangeService::__construct1100.0%
App\Domain\Auth\Service\EmailChangeService::buildEmailHtml1100.0%
App\Domain\Auth\Service\EmailChangeService::buildChangedNoticeHtml1100.0%
App\Domain\Auth\Service\JwtService::__construct1100.0%
App\Domain\Auth\Service\JwtService::generateTokenPair1100.0%
App\Domain\Auth\Service\JwtService::generateAccessToken1100.0%
App\Domain\Auth\Service\JwtService::generateRefreshToken1100.0%
App\Domain\Auth\Service\JwtService::getAccessTokenExpiry1100.0%
App\Domain\Auth\Service\JwtService::getRefreshTokenExpiry1100.0%
App\Domain\Auth\Service\PasswordResetService::__construct1100.0%
App\Domain\Auth\Service\PasswordResetService::sendResetLink1100.0%
App\Domain\Auth\Service\PasswordResetService::buildEmailHtml1100.0%
App\Domain\Auth\Service\PasswordService::hashPassword1100.0%
App\Domain\Auth\Service\PasswordService::verifyPassword1100.0%
App\Domain\Auth\Service\PasswordService::needsRehash1100.0%
App\Domain\Auth\Service\RegistrationService::__construct1100.0%
App\Domain\Auth\Service\RegistrationService::validateAllInput1100.0%