Classes

Coverage Distribution

Complexity

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
__construct0%
login0%
logout0%
refresh0%
getSessions0%
revokeSession0%
getActivity0%
getMfaStatus0%
setupMfa0%
enableMfa0%
disableMfa0%
verifyMfa0%
regenerateBackupCodes0%
getJsonBody0%
jsonResponse0%
__construct0%
call0%
handleJwtAuth0%
handleLegacyApiKey0%
hasValidSession0%
handleSessionAuth0%
setAuthContext0%
unauthorized0%
isPublicRoute0%
startsWith0%
getTokenService0%
addPublicRoute0%
__construct0%
hydrate0%
find0%
findByUserAndStore0%
findByUser0%
findByStore0%
findActiveUserIdsByStore0%
create0%
upsert0%
save0%
deactivate0%
reactivate0%
delete0%
toArray0%
getId0%
getUserId0%
getTypeNum0%
getClockPin0%
getDrsEmployeeId0%
getRole0%
isActive0%
getAssignedAt0%
getDeactivatedAt0%
setClockPin0%
setDrsEmployeeId0%
setRole0%
__construct0%
find0%
findByUsername0%
findByEmail0%
findByExternalId0%
hydrate0%
save0%
insert0%
update0%
getInsertParams0%
setPassword0%
getStoreAssignments0%
hasStoreAccess0%
getStoreTypeNums0%
getGroups0%
getStoreGroups0%
getPermissions0%
getPermissionHooks0%
checkAccess0%
isGuest0%
isLocked0%
canAuthenticate0%
isOnLeave0%
isTerminated0%
clearCache0%
getFullName0%
getDisplayNameOrUsername0%
toArray0%
getId0%
getUsername0%
getEmail0%
getPasswordHash0%
getDisplayName0%
getFirstName0%
getLastName0%
getPhone0%
getPhotoUrl0%
hasAvatarOverride0%
getPosition0%
getHourlyRate0%
getHireDate0%
getTerminationDate0%
getLeaveStartDate0%
getLeaveEndDate0%
getEmergencyContactName0%
getEmergencyContactPhone0%
getSource0%
getExternalId0%
getLastSyncedAt0%
canLogin0%
getAccountType0%
isEnabled0%
isActive0%
getActivationToken0%
getActivationTokenExpiresAt0%
getPasswordResetToken0%
getPasswordResetExpiresAt0%
hasMfaEnabled0%
getMfaSecret0%
getMfaBackupCodes0%
getMfaVerifiedAt0%
getLocale0%
wantsDailyReport0%
getTimezone0%
getCreatedAt0%
getUpdatedAt0%
getLastLoginAt0%
getLastLoginIp0%
getFailedLoginAttempts0%
getLockedUntil0%
setUsername0%
setEmail0%
setDisplayName0%
setFirstName0%
setLastName0%
setPhone0%
setPhotoUrl0%
setAvatarOverride0%
setPosition0%
setHourlyRate0%
setHireDate0%
setTerminationDate0%
setLeaveStartDate0%
setLeaveEndDate0%
setEmergencyContactName0%
setEmergencyContactPhone0%
setSource0%
setExternalId0%
setLastSyncedAt0%
setCanLogin0%
setAccountType0%
setEnabled0%
setActive0%
setActivationToken0%
setActivationTokenExpiresAt0%
setPasswordResetToken0%
setPasswordResetExpiresAt0%
setMfaEnabled0%
setMfaSecret0%
setMfaBackupCodes0%
setMfaVerifiedAt0%
setLocale0%
setDailyReport0%
setTimezone0%
__construct0%
log0%
logLogin0%
logLoginFailed0%
logLogout0%
logPasswordChange0%
logPasswordResetRequest0%
logPasswordResetComplete0%
logMfaEnabled0%
logMfaDisabled0%
logMfaSuccess0%
logMfaFailed0%
logTokenIssued0%
logTokenRefreshed0%
logTokenRevoked0%
logAccountLocked0%
logAccountUnlocked0%
logRememberMeIssued0%
logRememberMeUsed0%
logRememberMeRevoked0%
logPasswordHashUpgraded0%
getRecentEvents0%
getClientIp0%
getUserAgent0%
maskEmail0%
__construct0%
login0%
logout0%
refreshToken0%
verifyPassword0%
hashPassword0%
upgradePasswordHash0%
verifyMfaCode0%
verifyBackupCode0%
loadUserByUsernameOrEmail0%
loadUserById0%
getUserStores0%
getUserPermissions0%
recordFailedAttempt0%
resetFailedAttempts0%
updateLastLogin0%
__construct0%
success0%
failed0%
mfaRequired0%
rateLimited0%
locked0%
isSuccess0%
getError0%
getData0%
isMfaRequired0%
getMfaUserId0%
isRateLimited0%
isLocked0%
getRetryAfter0%
toArray0%
__construct0%
wasMatched0%
getUser0%
getUserId0%
getMatchType0%
getConfidence0%
getReason0%
isHighConfidence0%
toArray0%
__construct0%
generateSecret0%
getQrCodeUri0%
generateQrCode0%
verifyCode0%
generateBackupCodes0%
verifyBackupCode0%
getRemainingBackupCodeCount0%
beginSetup0%
completeSetup0%
disable0%
forceDisable0%
regenerateBackupCodes0%
verifyAnyCode0%
isEnabled0%
getStatus0%
__construct0%
initRedis0%
checkLimit0%
recordFailure0%
clearAttempts0%
getConfig0%
buildKey0%
checkRedisLimit0%
recordRedisFailure0%
checkDatabaseLimit0%
recordDatabaseFailure0%
__construct0%
isBlocked0%
getAttempts0%
getRetryAfter0%
__construct0%
createToken0%
validateAndRotate0%
validateToken0%
revokeAllForUser0%
deleteToken0%
setCookie0%
clearCookie0%
getTokenFromCookie0%
getCookieName0%
isSecureConnection0%
cleanupExpiredTokens0%
__construct0%
createAccessToken0%
createRefreshToken0%
validateAccessToken0%
validateRefreshToken0%
revokeRefreshToken0%
revokeAllUserTokens0%
rotateRefreshToken0%
getUserActiveTokens0%
revokeTokenById0%
cleanupExpiredTokens0%
getPrivateKey0%
getPublicKey0%
generateTokenId0%
getAccessTokenTTL0%
getRefreshTokenTTL0%
__construct0%
findMatch0%
findByExternalId0%
findByEmail0%
findByName0%
findByNameInStore0%
findByPhone0%
calculateMatchScore0%
calculateNameSimilarity0%
stringSimilarity0%
extractEmailDomain0%
buildMatchReason0%
logMatch0%

Project Risks

Method CRAP
hydrate1980
findMatch600
login182
call110
hydrate110
calculateMatchScore90
login72
enableMfa72
disableMfa72
regenerateBackupCodes72
getInsertParams72
verifyBackupCode72
create56
verifyPassword56
isSecureConnection56
verifyMfa42
checkAccess42
refreshToken42
verifyBackupCode42
toArray42
verifyAnyCode42
buildMatchReason42
setupMfa30
handleLegacyApiKey30
save30
getPermissions30
completeSetup30
disable30
checkDatabaseLimit30
stringSimilarity30
logout20
revokeSession20
getMfaStatus20
hasStoreAccess20
canAuthenticate20
isOnLeave20
log20
verifyMfaCode20
getRemainingBackupCodeCount20
beginSetup20
regenerateBackupCodes20
getStatus20
checkRedisLimit20
validateAccessToken20
refresh12
getSessions12
getActivity12
getJsonBody12
handleSessionAuth12
isPublicRoute12
getStoreAssignments12
getGroups12
getStoreGroups12
getRecentEvents12
getClientIp12
getUserAgent12
logout12
verifyCode12
generateBackupCodes12
initRedis12
clearAttempts12
validateAndRotate12
validateToken12
getPrivateKey12
getPublicKey12
findByPhone12
handleJwtAuth6
hasValidSession6
getTokenService6
find6
findByUserAndStore6
findByUser6
findByStore6
delete6
find6
findByUsername6
findByEmail6
findByExternalId6
save6
isLocked6
isTerminated6
toArray6
logLoginFailed6
maskEmail6
loadUserByUsernameOrEmail6
loadUserById6
recordFailedAttempt6
getUserId6
isEnabled6
checkLimit6
recordFailure6
recordRedisFailure6
recordDatabaseFailure6
validateRefreshToken6
rotateRefreshToken6
findByExternalId6
findByEmail6
extractEmailDomain6
logMatch6