Classes

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

0% 20% 40% 60% 80% 100% 0 10 20 30 40 50 Line Coverage (%) Cyclomatic Complexity App\Domain\Account\Repository\AccountRepository — Coverage: 95.2% | Lines: 125 | Complexity: 31 App\Domain\Account\Service\AccountService — Coverage: 92.6% | Lines: 108 | Complexity: 45 App\Domain\Account\Data\AccountSummaryData — Coverage: 95.5% | Lines: 22 | Complexity: 2 App\Domain\Account\Data\AccountData — Coverage: 100.0% | Lines: 16 | Complexity: 2 App\Domain\Account\Data\BalanceHistoryPointData — Coverage: 100.0% | Lines: 6 | Complexity: 2

Methods

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\Account\Service\AccountService::createAccountForInvestor — Coverage: 96.2% | Lines: 26 | Complexity: 11 App\Domain\Account\Data\AccountSummaryData::__construct — Coverage: 100.0% | Lines: 21 | Complexity: 1 App\Domain\Account\Data\AccountData::__construct — Coverage: 100.0% | Lines: 15 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::createAccount — Coverage: 100.0% | Lines: 14 | Complexity: 1 App\Domain\Account\Service\AccountService::activateAccount — Coverage: 92.9% | Lines: 14 | Complexity: 4 App\Domain\Account\Service\AccountService::closeAccount — Coverage: 90.9% | Lines: 11 | Complexity: 5 App\Domain\Account\Repository\AccountRepository::generateUniqueAccountNumber — Coverage: 55.6% | Lines: 9 | Complexity: 3 App\Domain\Account\Service\AccountService::updateInterestRate — Coverage: 88.9% | Lines: 9 | Complexity: 4 App\Domain\Account\Service\AccountService::updateLoanToValueRatio — Coverage: 88.9% | Lines: 9 | Complexity: 4 App\Domain\Account\Repository\AccountRepository::getBalanceHistory — Coverage: 100.0% | Lines: 8 | Complexity: 2 App\Domain\Account\Service\AccountService::getAccountSummary — Coverage: 87.5% | Lines: 8 | Complexity: 2 App\Domain\Account\Repository\AccountRepository::updateAccountStatus — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::updateBankAccountStatus — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::setBankAccountId — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::updateInterestRate — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::updateLoanToValueRatio — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Domain\Account\Service\AccountService::freezeAccount — Coverage: 85.7% | Lines: 7 | Complexity: 3 App\Domain\Account\Service\AccountService::unfreezeAccount — Coverage: 85.7% | Lines: 7 | Complexity: 3 App\Domain\Account\Repository\AccountRepository::findAccountById — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Domain\Account\Repository\AccountRepository::findAccountByInvestorId — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Domain\Account\Repository\AccountRepository::findAccountByAccountNumber — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Domain\Account\Repository\AccountRepository::getAccountSummary — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Domain\Account\Repository\AccountRepository::getTotalAccounts — Coverage: 83.3% | Lines: 6 | Complexity: 3 App\Domain\Account\Repository\AccountRepository::getTotalBalance — Coverage: 83.3% | Lines: 6 | Complexity: 3 App\Domain\Account\Service\AccountService::getAccount — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Domain\Account\Service\AccountService::getAccountByInvestorId — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Domain\Account\Repository\AccountRepository::hasActiveLoans — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::canCloseAccount — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Domain\Account\Data\BalanceHistoryPointData::jsonSerialize — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::accountNumberExists — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::investorHasAccount — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::getAvailableForLoan — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Domain\Account\Service\AccountService::getBalanceHistory — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Domain\Account\Data\BalanceHistoryPointData::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Domain\Account\Data\AccountData::jsonSerialize — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Account\Data\AccountSummaryData::jsonSerialize — Coverage: 0.0% | Lines: 1 | Complexity: 1 App\Domain\Account\Repository\AccountRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Domain\Account\Service\AccountService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
App\Domain\Account\Service\AccountService::createAccountForInvestor1196.2%
App\Domain\Account\Service\AccountService::closeAccount5.0290.9%
App\Domain\Account\Service\AccountService::updateInterestRate4.0288.9%
App\Domain\Account\Service\AccountService::updateLoanToValueRatio4.0288.9%
App\Domain\Account\Service\AccountService::activateAccount4.0192.9%
App\Domain\Account\Repository\AccountRepository::generateUniqueAccountNumber3.7955.6%
App\Domain\Account\Repository\AccountRepository::getTotalAccounts3.0483.3%
App\Domain\Account\Repository\AccountRepository::getTotalBalance3.0483.3%
App\Domain\Account\Service\AccountService::freezeAccount3.0385.7%
App\Domain\Account\Service\AccountService::unfreezeAccount3.0385.7%
App\Domain\Account\Service\AccountService::getAccount3100.0%
App\Domain\Account\Service\AccountService::getAccountByInvestorId3100.0%
App\Domain\Account\Service\AccountService::getAccountSummary2.0187.5%
App\Domain\Account\Data\AccountSummaryData::jsonSerialize20.0%
App\Domain\Account\Repository\AccountRepository::findAccountById2100.0%
App\Domain\Account\Repository\AccountRepository::findAccountByInvestorId2100.0%
App\Domain\Account\Repository\AccountRepository::findAccountByAccountNumber2100.0%
App\Domain\Account\Repository\AccountRepository::getAccountSummary2100.0%
App\Domain\Account\Repository\AccountRepository::getBalanceHistory2100.0%
App\Domain\Account\Service\AccountService::getBalanceHistory2100.0%
App\Domain\Account\Data\AccountData::__construct1100.0%
App\Domain\Account\Data\AccountData::jsonSerialize1100.0%
App\Domain\Account\Data\AccountSummaryData::__construct1100.0%
App\Domain\Account\Data\BalanceHistoryPointData::__construct1100.0%
App\Domain\Account\Data\BalanceHistoryPointData::jsonSerialize1100.0%
App\Domain\Account\Repository\AccountRepository::__construct1100.0%
App\Domain\Account\Repository\AccountRepository::accountNumberExists1100.0%
App\Domain\Account\Repository\AccountRepository::createAccount1100.0%
App\Domain\Account\Repository\AccountRepository::investorHasAccount1100.0%
App\Domain\Account\Repository\AccountRepository::updateAccountStatus1100.0%
App\Domain\Account\Repository\AccountRepository::updateBankAccountStatus1100.0%
App\Domain\Account\Repository\AccountRepository::setBankAccountId1100.0%
App\Domain\Account\Repository\AccountRepository::updateInterestRate1100.0%
App\Domain\Account\Repository\AccountRepository::updateLoanToValueRatio1100.0%
App\Domain\Account\Repository\AccountRepository::getAvailableForLoan1100.0%
App\Domain\Account\Repository\AccountRepository::hasActiveLoans1100.0%
App\Domain\Account\Repository\AccountRepository::canCloseAccount1100.0%
App\Domain\Account\Service\AccountService::__construct1100.0%