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\Loan\Repository\LoanRepository — Coverage: 84.5% | Lines: 239 | Complexity: 65

 

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

Class CRAP Coverage
App\Domain\Loan\Repository\LoanRepository80.6884.5%

Methods

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

0% 20% 40% 60% 80% 100% 0 1 2 3 4 5 Line Coverage (%) Cyclomatic Complexity App\Domain\Loan\Repository\LoanRepository::recordPayment — Coverage: 90.3% | Lines: 31 | Complexity: 4 App\Domain\Loan\Repository\LoanRepository::getLoanConfig — Coverage: 93.3% | Lines: 15 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::createLoanRequest — Coverage: 92.9% | Lines: 14 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::approveLoan — Coverage: 92.3% | Lines: 13 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::recordAdditionalPayment — Coverage: 91.7% | Lines: 12 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::checkEligibility — Coverage: 80.0% | Lines: 10 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::findByInvestorId — Coverage: 90.0% | Lines: 10 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::getConfigBool — Coverage: 80.0% | Lines: 10 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::getPaymentSchedule — Coverage: 90.0% | Lines: 10 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::denyLoan — Coverage: 90.0% | Lines: 10 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::findActive — Coverage: 88.9% | Lines: 9 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::getConfig — Coverage: 88.9% | Lines: 9 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::findPending — Coverage: 88.9% | Lines: 9 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::findApproved — Coverage: 0.0% | Lines: 9 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::findById — Coverage: 87.5% | Lines: 8 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::getInvestorAccountId — Coverage: 87.5% | Lines: 8 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::getNextUnpaidScheduleEntry — Coverage: 87.5% | Lines: 8 | Complexity: 3 App\Domain\Loan\Repository\LoanRepository::investorHasBlockingLoan — Coverage: 85.7% | Lines: 7 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::updateLoanConfig — Coverage: 83.3% | Lines: 6 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::markActive — Coverage: 83.3% | Lines: 6 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::markRemainingScheduleEntriesPaid — Coverage: 83.3% | Lines: 6 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::acceptLoan — Coverage: 80.0% | Lines: 5 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::declineLoan — Coverage: 80.0% | Lines: 5 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::generatePaymentSchedule — Coverage: 75.0% | Lines: 4 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::reamortizeLoan — Coverage: 75.0% | Lines: 4 | Complexity: 2 App\Domain\Loan\Repository\LoanRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
App\Domain\Loan\Repository\LoanRepository::findApproved120.0%
App\Domain\Loan\Repository\LoanRepository::recordPayment4.0190.3%
App\Domain\Loan\Repository\LoanRepository::checkEligibility3.0780.0%
App\Domain\Loan\Repository\LoanRepository::getConfigBool3.0780.0%
App\Domain\Loan\Repository\LoanRepository::findById3.0287.5%
App\Domain\Loan\Repository\LoanRepository::getInvestorAccountId3.0287.5%
App\Domain\Loan\Repository\LoanRepository::getNextUnpaidScheduleEntry3.0287.5%
App\Domain\Loan\Repository\LoanRepository::findByInvestorId3.0190.0%
App\Domain\Loan\Repository\LoanRepository::findActive3.0188.9%
App\Domain\Loan\Repository\LoanRepository::getConfig3.0188.9%
App\Domain\Loan\Repository\LoanRepository::getPaymentSchedule3.0190.0%
App\Domain\Loan\Repository\LoanRepository::findPending3.0188.9%
App\Domain\Loan\Repository\LoanRepository::getLoanConfig3.0093.3%
App\Domain\Loan\Repository\LoanRepository::generatePaymentSchedule2.0675.0%
App\Domain\Loan\Repository\LoanRepository::reamortizeLoan2.0675.0%
App\Domain\Loan\Repository\LoanRepository::acceptLoan2.0380.0%
App\Domain\Loan\Repository\LoanRepository::declineLoan2.0380.0%
App\Domain\Loan\Repository\LoanRepository::updateLoanConfig2.0283.3%
App\Domain\Loan\Repository\LoanRepository::markActive2.0283.3%
App\Domain\Loan\Repository\LoanRepository::markRemainingScheduleEntriesPaid2.0283.3%
App\Domain\Loan\Repository\LoanRepository::investorHasBlockingLoan2.0185.7%
App\Domain\Loan\Repository\LoanRepository::createLoanRequest2.0092.9%
App\Domain\Loan\Repository\LoanRepository::approveLoan2.0092.3%
App\Domain\Loan\Repository\LoanRepository::denyLoan2.0090.0%
App\Domain\Loan\Repository\LoanRepository::recordAdditionalPayment2.0091.7%
App\Domain\Loan\Repository\LoanRepository::__construct1100.0%