Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
App\Action\Admin\ApproveFundCashflowRequestAction0%
App\Action\Admin\ArchiveAdminFundAction0%
App\Action\Admin\CreateAdminFundAction0%
App\Action\Admin\CreateAdminTransactionAction0%
App\Action\Admin\CreateInvestorAccountAction0%
App\Action\Admin\GetAdminBalanceHistoryAction0%
App\Action\Admin\GetAdminFundCashflowRequestsAction0%
App\Action\Admin\GetAdminFundPerformanceAction0%
App\Action\Admin\GetAdminFundsAction0%
App\Action\Admin\GetAdminInvestorAllocationsAction0%
App\Action\Admin\GetAdminTransactionsAction0%
App\Action\Admin\GetAumHistoryAction0%
App\Action\Admin\RejectFundCashflowRequestAction0%
App\Action\Admin\UpdateAdminBalanceAction0%
App\Action\Admin\UpdateAdminFundAction0%
App\Action\Admin\UpdateAdminFundPerformanceAction0%
App\Action\Document\CreateRegistrationDocumentsAction0%
App\Action\Document\CreateSigningSessionAction0%
App\Action\Document\GetDocumentAction0%
App\Action\Document\GetDocumentsAction0%
App\Action\Document\ResendDocumentAction0%
App\Action\Fund\CreateFundCashflowRequestAction0%
App\Action\Fund\GetFundCashflowRequestsAction0%
App\Action\Fund\GetFundDetailAction0%
App\Action\Fund\GetFundsAction0%
App\Action\Fund\GetInvestorAllocationsAction0%
App\Action\Loan\ActivateLoanAction0%
App\Action\Loan\ApproveLoanAction0%
App\Action\Loan\CheckEligibilityAction0%
App\Action\Loan\DenyLoanAction0%
App\Action\Loan\GetActiveLoansAction0%
App\Action\Loan\GetLoanAction0%
App\Action\Loan\GetMyLoansAction0%
App\Action\Loan\GetPendingLoansAction0%
App\Action\Loan\RequestLoanAction0%
App\Action\Statement\GetStatementsAction0%
App\Action\SuperAdmin\DeleteErrorLogsAction0%
App\Action\SuperAdmin\GetErrorLogAction0%
App\Action\SuperAdmin\GetSystemSettingsAction0%
App\Action\SuperAdmin\ListErrorLogsAction0%
App\Action\SuperAdmin\ResolveErrorLogAction0%
App\Action\SuperAdmin\UpdateSystemSettingAction0%
App\Domain\Admin\Service\AdminBalanceUpdateService0%
App\Domain\Admin\Service\AdminFundManagementService0%
App\Domain\Admin\Service\AdminFundPerformanceService0%
App\Domain\Document\Service\PandaDocService0%
App\Domain\Email\EmailNotificationService0%
App\Domain\Funds\Data\FundCashflowRequestData0%
App\Domain\Funds\Data\FundData0%
App\Domain\Funds\Repository\FundCashflowRequestRepository0%
App\Domain\Funds\Repository\FundsRepository0%
App\Domain\Funds\Service\FundCashflowRequestAdminService0%
App\Domain\Funds\Service\FundCashflowRequestService0%
App\Domain\Funds\Service\FundImageStorage0%
App\Domain\Funds\Service\FundsCreator0%
App\Domain\Funds\Service\FundsFinder0%
App\Domain\Funds\Service\FundsUpdater0%
App\Domain\Funds\Service\InvestorFundsService0%
App\Domain\Statement\Repository\StatementRepository0%
App\Domain\Statement\Service\StatementService0%
App\Domain\SystemSettings\Service\SystemSettingsService0%
App\Domain\Transaction\Service\TransactionService3%
App\Domain\Auth\Data\TokenData14%
App\Action\Auth\RegisterAction33%
App\Domain\SystemSettings\Repository\SystemSettingsRepository41%
App\Domain\Admin\Repository\AdminRepository46%
App\Domain\SystemSettings\Data\SystemSettingData47%
App\Domain\ErrorLog\Data\ErrorLogData47%
App\Domain\Admin\Service\AdminService50%
App\Domain\Loan\Data\LoanData50%
App\Domain\Loan\Data\LoanEligibilityData52%
App\Domain\Transaction\Repository\TransactionRepository58%
App\Middleware\ErrorLoggingMiddleware77%
App\Domain\ErrorLog\Repository\ErrorLogRepository80%
App\Domain\Audit\AuditService86%
App\Domain\Loan\Repository\LoanRepository87%
App\Middleware\JwtAuthMiddleware88%
App\Domain\Auth\Repository\AuthRepository88%
App\Action\Investor\UpdateInvestorStatusAction89%
App\Action\Investor\UpdateKycStatusAction89%
App\Domain\Auth\Service\RegistrationService89%

Project Risks

Class CRAP
App\Domain\Funds\Repository\FundsRepository6320
App\Domain\Funds\Service\FundCashflowRequestAdminService1122
App\Domain\Funds\Repository\FundCashflowRequestRepository1056
App\Domain\Email\EmailNotificationService992
App\Domain\Funds\Service\FundImageStorage992
App\Action\Admin\CreateAdminFundAction756
App\Action\Admin\UpdateAdminFundAction756
App\Domain\Admin\Service\AdminFundPerformanceService702
App\Domain\Document\Service\PandaDocService506
App\Action\Document\GetDocumentsAction420
App\Domain\Admin\Service\AdminFundManagementService380
App\Domain\SystemSettings\Service\SystemSettingsService380
App\Domain\Admin\Service\AdminBalanceUpdateService342
App\Domain\Funds\Service\InvestorFundsService306
App\Action\Admin\UpdateAdminBalanceAction272
App\Action\Document\CreateRegistrationDocumentsAction240
App\Action\Fund\CreateFundCashflowRequestAction240
App\Domain\Funds\Service\FundCashflowRequestService240
App\Domain\Funds\Data\FundData210
App\Domain\Funds\Service\FundsUpdater210
App\Domain\Admin\Repository\AdminRepository204
App\Domain\Funds\Service\FundsCreator182
App\Action\Admin\GetAdminFundCashflowRequestsAction156
App\Action\Auth\RegisterAction124
App\Domain\Transaction\Service\TransactionService118
App\Domain\Funds\Service\FundsFinder110
App\Action\Admin\GetAdminFundsAction90
App\Action\Admin\CreateAdminTransactionAction72
App\Action\Loan\ApproveLoanAction72
App\Middleware\ErrorLoggingMiddleware66
App\Domain\ErrorLog\Repository\ErrorLogRepository66
App\Domain\Auth\Service\RegistrationService59
App\Domain\Transaction\Repository\TransactionRepository57
App\Action\SuperAdmin\ResolveErrorLogAction56
App\Action\SuperAdmin\UpdateSystemSettingAction56
App\Domain\SystemSettings\Repository\SystemSettingsRepository47
App\Action\Admin\GetAdminTransactionsAction42
App\Domain\Funds\Data\FundCashflowRequestData42
App\Domain\Auth\Repository\AuthRepository40
App\Domain\Audit\AuditService39
App\Domain\Admin\Service\AdminService38
App\Domain\Loan\Repository\LoanRepository36
App\Action\Admin\GetAdminBalanceHistoryAction30
App\Action\Loan\DenyLoanAction30
App\Action\Loan\GetLoanAction30
App\Action\SuperAdmin\DeleteErrorLogsAction30
App\Action\Admin\RejectFundCashflowRequestAction20
App\Action\Admin\UpdateAdminFundPerformanceAction20
App\Action\Fund\GetFundsAction20
App\Action\Loan\ActivateLoanAction20
App\Action\Loan\GetPendingLoansAction20
App\Action\Loan\RequestLoanAction20
App\Domain\Loan\Data\LoanData18
App\Domain\ErrorLog\Data\ErrorLogData13
App\Action\Admin\GetAdminInvestorAllocationsAction12
App\Action\Document\ResendDocumentAction12
App\Action\SuperAdmin\GetErrorLogAction12
App\Domain\Statement\Repository\StatementRepository12
App\Middleware\JwtAuthMiddleware11
App\Domain\SystemSettings\Data\SystemSettingData11
App\Action\Investor\UpdateInvestorStatusAction4
App\Action\Investor\UpdateKycStatusAction4

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
emptyToNull0%
parseInvestmentHighlights0%
resolveImageUpload0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
emptyToNull0%
parseInvestmentHighlights0%
resolveImageUpload0%
__construct0%
__invoke0%
handleCompleteRegistration0%
validateCompleteRegistrationInput0%
getClientIp0%
__construct0%
__invoke0%
getInvestor0%
saveDocument0%
updateDocumentStatus0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
getStoredDocuments0%
mapPandaDocStatus0%
updateDocumentStatus0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
__construct0%
__invoke0%
jsonSerialize0%
getAumHistory0%
getAllTransactions0%
getInvestorAllocations0%
__construct0%
adjustBalance0%
createTransaction0%
updateAllocationCurrentValue0%
getAdjustmentHistory0%
getInvestorAllocations0%
__construct0%
createFund0%
updateFund0%
publishFund0%
unpublishFund0%
archiveFund0%
getAllFunds0%
getPublishedFunds0%
getFundDetails0%
__construct0%
recordMonthlyPerformance0%
get12MonthPerformance0%
getAllFundsForPerformance0%
calculateYtdReturn0%
getInvestorAllocations0%
getAllTransactions0%
getAumHistory0%
logImpersonationEnd0%
toArray0%
__construct0%
getDocumentsForInvestor0%
getDocumentDetails0%
createSigningSession0%
resendDocument0%
createDocumentFromTemplate0%
getDocumentStatus0%
sendDocument0%
transformDocument0%
makeRequest0%
parseStatusCode0%
__construct0%
sendAddFundsRequestEmail0%
sendWithdrawalRequestEmail0%
sendRequestApprovedEmail0%
sendRequestRejectedEmail0%
sendDocumentSignatureRequestEmail0%
sendDocumentSignedEmail0%
sendMonthlyPerformanceEmail0%
sendStatementAvailableEmail0%
sendPasswordResetEmail0%
sendEmail0%
buildAddFundsInvestorEmail0%
buildAddFundsAdminEmail0%
buildWithdrawalInvestorEmail0%
buildWithdrawalAdminEmail0%
buildApprovalEmail0%
buildRejectionEmail0%
buildSignatureRequestEmail0%
buildDocumentSignedInvestorEmail0%
buildDocumentSignedAdminEmail0%
buildPerformanceEmail0%
buildStatementEmail0%
buildPasswordResetEmail0%
jsonSerialize0%
info0%
notice0%
warning0%
__construct0%
fromRow0%
toArray0%
__construct0%
fromRow0%
toArray0%
decodeInvestmentHighlights0%
__construct0%
create0%
findByUserId0%
findById0%
findByIdWithDetails0%
findByFilters0%
updateStatus0%
__construct0%
findFunds0%
createFund0%
findPublishedFunds0%
findPublishedFundById0%
findFundById0%
findUserFundAllocations0%
findFundPerformance0%
findUserDistributions0%
updateFund0%
archiveFund0%
findAllUserAllocations0%
createOrUpdateAllocation0%
decreaseAllocation0%
__construct0%
listRequests0%
approveRequest0%
rejectRequest0%
isValidDate0%
__construct0%
createAddFundsRequest0%
createWithdrawalRequest0%
getRequestsForUser0%
generateWireReference0%
__construct0%
fromDefaultProjectRoot0%
storeHeroImage0%
storeManagerPhoto0%
deleteManagedFileIfReplaced0%
store0%
resolveAbsoluteManagedPath0%
__construct0%
createFund0%
__construct0%
findFunds0%
__construct0%
updateFund0%
archiveFund0%
__construct0%
getPublishedFunds0%
getPublishedFundDetail0%
getUserAllocations0%
toArray0%
toArray0%
__construct0%
findByUserId0%
__construct0%
getStatementsForUser0%
getValue0%
jsonSerialize0%
findAll0%
update0%
__construct0%
getAll0%
getByKey0%
update0%
getLogLevelThreshold0%
updateLogLevelThreshold0%
validateSetting0%
create0%
getAccountStatus0%
getAccountAvailableBalance0%
createTransaction0%
getValidTypes0%
validateOptionalString40%
generateUniqueAccountNumber55%
validateRequiredString57%
getClientIp62%
getClientIp62%
buildContext63%
generateUniqueAccountNumber69%
findAll69%
determineLogLevel71%
getUnresolvedCount75%
updateInvestor75%
generatePaymentSchedule75%
__invoke80%
getAccountSummary80%
investorEmailExists80%
extractErrorCode80%
setContext81%
generateAccountNumber81%
checkEligibility81%
getTotalAccounts83%
getTotalBalance83%
activateLoan83%
registerComplete84%
freezeAccount85%
unfreezeAccount85%
getStats85%
emailExists85%
usernameExists85%
revokeRefreshToken85%
revokeAllUserTokens85%
cleanupExpiredTokens85%
updateLastLogin85%
incrementFailedLoginAttempts85%
emailExists85%
getConfig85%
getPaymentSchedule85%
getAccountBalance85%
getAllAccountsWithInvestors85%
emailExistsInUsers85%
emailExistsInInvestors85%
getAllUsers85%
generateTransactionDescription85%
getLogLevelThreshold85%
accountExists85%
getInvestorDetail87%
getPasswordHash87%
isAccountLocked87%
deleteByIds87%
findInvestorById87%
findInvestorByEmail87%
findInvestorByUserId87%
updateInvestorStatus87%
findById87%
getInvestorAccountId87%
logAccountStatusChange88%
logImpersonation88%
__invoke88%
__invoke88%
updateInterestRate88%
updateLoanToValueRatio88%
getUserActivity88%
findUserByEmail88%
findUserByUsername88%
findUserById88%
findSessionByRefreshToken88%
getCountsByLevel88%
findActive88%
findPending88%
getAccountById88%
getUserById88%
findByKey88%
findById88%

Project Risks

Method CRAP
findFunds380
listRequests380
recordMonthlyPerformance342
findByFilters272
__invoke240
__invoke210
getAllTransactions156
createFund156
updateFund156
__invoke132
resolveAbsoluteManagedPath132
decreaseAllocation110
store110
__invoke90
__invoke90
findPublishedFunds90
findUserFundAllocations90
findFunds90
validateSetting90
createTransaction90
parseInvestmentHighlights72
__invoke72
parseInvestmentHighlights72
mapPandaDocStatus72
approveRequest72
getPublishedFunds72
__invoke56
__invoke56
makeRequest56
getPublishedFundDetail56
findAll44
__invoke42
__invoke42
__invoke42
updateFund42
fromRow42
decodeInvestmentHighlights42
createAddFundsRequest42
createWithdrawalRequest42
deleteManagedFileIfReplaced42
resolveImageUpload30
__invoke30
resolveImageUpload30
getClientIp30
__invoke30
getAdjustmentHistory30
createFund30
sendEmail30
createOrUpdateAllocation30
emptyToNull20
__invoke20
emptyToNull20
getInvestor20
getStoredDocuments20
__invoke20
__invoke20
__invoke20
getAllTransactions20
fromRow20
createFund20
findUserDistributions20
updateFund20
update20
determineLogLevel15
buildContext13
__invoke12
__invoke12
validateCompleteRegistrationInput12
__invoke12
__invoke12
__invoke12
__invoke12
getInvestorAllocations12
adjustBalance12
createTransaction12
updateAllocationCurrentValue12
getInvestorAllocations12
get12MonthPerformance12
calculateYtdReturn12
createDocumentFromTemplate12
parseStatusCode12
create12
findByUserId12
findById12
findByIdWithDetails12
updateStatus12
findPublishedFundById12
findFundById12
archiveFund12
findAllUserAllocations12
rejectRequest12
findAll12
update12
create12
getAccountStatus12
getAccountAvailableBalance12
extractErrorCode9
registerComplete8
getClientIp6
getClientIp6
setContext6
__invoke6
handleCompleteRegistration6
saveDocument6
updateDocumentStatus6
updateDocumentStatus6
__invoke6
__invoke6
getAumHistory6
getFundDetails6
transformDocument6
buildWithdrawalInvestorEmail6
buildWithdrawalAdminEmail6
buildApprovalEmail6
buildRejectionEmail6
findFundPerformance6
isValidDate6
findByUserId6
updateLogLevelThreshold6
validateRequiredString5
generateTransactionDescription5
updateInvestorStatus5
logAccountStatusChange5
validateOptionalString4
generateUniqueAccountNumber4
updateInvestor4
generateAccountNumber4
updateInterestRate4
updateLoanToValueRatio4
generateUniqueAccountNumber3
checkEligibility3
getTotalAccounts3
getTotalBalance3
freezeAccount3
unfreezeAccount3
getConfig3
getInvestorDetail3
getPasswordHash3
deleteByIds3
findInvestorById3
findInvestorByEmail3
findInvestorByUserId3
findById3
getInvestorAccountId3
__invoke3
__invoke3
findUserByEmail3
findUserByUsername3
findUserById3
findSessionByRefreshToken3
getCountsByLevel3
findActive3
findPending3
getAccountById3
getUserById3
findByKey3
findById3
getUnresolvedCount2
generatePaymentSchedule2
__invoke2
getAccountSummary2
investorEmailExists2
activateLoan2
logImpersonation2
getStats2
getUserActivity2
emailExists2
usernameExists2
revokeRefreshToken2
revokeAllUserTokens2
cleanupExpiredTokens2
updateLastLogin2
incrementFailedLoginAttempts2
isAccountLocked2
emailExists2
getPaymentSchedule2
getAccountBalance2
getAllAccountsWithInvestors2
emailExistsInUsers2
emailExistsInInvestors2
getAllUsers2
getLogLevelThreshold2
accountExists2