Classes

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

0% 20% 40% 60% 80% 100% 0 2 4 6 8 Line Coverage (%) Cyclomatic Complexity App\Expense\Application\Query\ExpenseView — Coverage: 100.0% | Lines: 23 | Complexity: 3 App\Expense\Application\Command\RecordExpenseHandler — Coverage: 100.0% | Lines: 19 | Complexity: 2 App\Expense\Application\Command\UpdateExpenseHandler — Coverage: 100.0% | Lines: 16 | Complexity: 2 App\Expense\Application\OwnedExpenseFinder — Coverage: 100.0% | Lines: 11 | Complexity: 7 App\Expense\Application\Query\ExpenseViewFactory — Coverage: 100.0% | Lines: 10 | Complexity: 4 App\Expense\Application\Query\ListCategoriesHandler — Coverage: 100.0% | Lines: 8 | Complexity: 5 App\Expense\Application\Command\DeleteExpenseHandler — Coverage: 100.0% | Lines: 7 | Complexity: 2 App\Expense\Application\Command\UpdateCategoryHandler — Coverage: 100.0% | Lines: 7 | Complexity: 2 App\Expense\Application\Query\CategoryView — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Expense\Application\Query\GetExpenseHandler — Coverage: 100.0% | Lines: 7 | Complexity: 3 App\Expense\Application\Query\ListExpensesHandler — Coverage: 100.0% | Lines: 7 | Complexity: 2 App\Expense\Application\Command\DeleteExpenseCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\RecordExpenseCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\UpdateCategoryCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\UpdateExpenseCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\GetExpenseQuery — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\ListCategoriesQuery — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\ListExpensesQuery — Coverage: 100.0% | Lines: 1 | Complexity: 1

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\Expense\Application\Command\RecordExpenseHandler::handle — Coverage: 100.0% | Lines: 18 | Complexity: 1 App\Expense\Application\Command\UpdateExpenseHandler::handle — Coverage: 100.0% | Lines: 15 | Complexity: 1 App\Expense\Application\Query\ExpenseView::fromExpense — Coverage: 100.0% | Lines: 11 | Complexity: 1 App\Expense\Application\Query\ExpenseView::toArray — Coverage: 100.0% | Lines: 11 | Complexity: 1 App\Expense\Application\Query\ExpenseViewFactory::create — Coverage: 100.0% | Lines: 9 | Complexity: 3 App\Expense\Application\Query\CategoryView::of — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Expense\Application\Query\ListCategoriesHandler::handle — Coverage: 100.0% | Lines: 7 | Complexity: 4 App\Expense\Application\Command\DeleteExpenseHandler::handle — Coverage: 100.0% | Lines: 6 | Complexity: 1 App\Expense\Application\Command\UpdateCategoryHandler::handle — Coverage: 100.0% | Lines: 6 | Complexity: 1 App\Expense\Application\Query\GetExpenseHandler::handle — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Expense\Application\Query\ListExpensesHandler::handle — Coverage: 100.0% | Lines: 6 | Complexity: 1 App\Expense\Application\OwnedExpenseFinder::expenseOnTrip — Coverage: 100.0% | Lines: 4 | Complexity: 3 App\Expense\Application\OwnedExpenseFinder::findReadable — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Expense\Application\OwnedExpenseFinder::getForWrite — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Expense\Application\Command\DeleteExpenseCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\DeleteExpenseHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\RecordExpenseCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\RecordExpenseHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\UpdateCategoryCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\UpdateCategoryHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\UpdateExpenseCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Command\UpdateExpenseHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\OwnedExpenseFinder::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\ExpenseView::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\ExpenseViewFactory::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\GetExpenseHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\GetExpenseQuery::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\ListCategoriesHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\ListCategoriesQuery::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\ListExpensesHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Expense\Application\Query\ListExpensesQuery::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
App\Expense\Application\Query\ListCategoriesHandler::handle4100.0%
App\Expense\Application\OwnedExpenseFinder::expenseOnTrip3100.0%
App\Expense\Application\Query\ExpenseViewFactory::create3100.0%
App\Expense\Application\OwnedExpenseFinder::findReadable2100.0%
App\Expense\Application\Query\GetExpenseHandler::handle2100.0%
App\Expense\Application\Command\DeleteExpenseCommand::__construct1100.0%
App\Expense\Application\Command\DeleteExpenseHandler::__construct1100.0%
App\Expense\Application\Command\DeleteExpenseHandler::handle1100.0%
App\Expense\Application\Command\RecordExpenseCommand::__construct1100.0%
App\Expense\Application\Command\RecordExpenseHandler::__construct1100.0%
App\Expense\Application\Command\RecordExpenseHandler::handle1100.0%
App\Expense\Application\Command\UpdateCategoryCommand::__construct1100.0%
App\Expense\Application\Command\UpdateCategoryHandler::__construct1100.0%
App\Expense\Application\Command\UpdateCategoryHandler::handle1100.0%
App\Expense\Application\Command\UpdateExpenseCommand::__construct1100.0%
App\Expense\Application\Command\UpdateExpenseHandler::__construct1100.0%
App\Expense\Application\Command\UpdateExpenseHandler::handle1100.0%
App\Expense\Application\OwnedExpenseFinder::__construct1100.0%
App\Expense\Application\OwnedExpenseFinder::getForWrite1100.0%
App\Expense\Application\Query\CategoryView::of1100.0%
App\Expense\Application\Query\ExpenseView::__construct1100.0%
App\Expense\Application\Query\ExpenseView::fromExpense1100.0%
App\Expense\Application\Query\ExpenseView::toArray1100.0%
App\Expense\Application\Query\ExpenseViewFactory::__construct1100.0%
App\Expense\Application\Query\GetExpenseHandler::__construct1100.0%
App\Expense\Application\Query\GetExpenseQuery::__construct1100.0%
App\Expense\Application\Query\ListCategoriesHandler::__construct1100.0%
App\Expense\Application\Query\ListCategoriesQuery::__construct1100.0%
App\Expense\Application\Query\ListExpensesHandler::__construct1100.0%
App\Expense\Application\Query\ListExpensesHandler::handle1100.0%
App\Expense\Application\Query\ListExpensesQuery::__construct1100.0%