Classes

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

0% 20% 40% 60% 80% 100% 0 10 20 30 Line Coverage (%) Cyclomatic Complexity App\Trip\Domain\Trip — Coverage: 100.0% | Lines: 46 | Complexity: 23 App\Trip\Application\Query\GetTripMembersHandler — Coverage: 100.0% | Lines: 35 | Complexity: 10 App\Trip\Application\TripAccess — Coverage: 100.0% | Lines: 31 | Complexity: 20 App\Trip\Application\Query\TripView — Coverage: 100.0% | Lines: 27 | Complexity: 3 App\Trip\Infrastructure\Controllers\ChangeMemberRoleController — Coverage: 86.4% | Lines: 22 | Complexity: 9 App\Trip\Infrastructure\Controllers\UpdateTripController — Coverage: 100.0% | Lines: 21 | Complexity: 6 App\Trip\Application\Command\InviteMemberHandler — Coverage: 100.0% | Lines: 20 | Complexity: 7 App\Trip\Infrastructure\Controllers\InviteMemberController — Coverage: 95.0% | Lines: 20 | Complexity: 7 App\Trip\Application\Query\ListMyInvitationsHandler — Coverage: 100.0% | Lines: 19 | Complexity: 5 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository — Coverage: 100.0% | Lines: 19 | Complexity: 7 App\Trip\Infrastructure\Controllers\RemoveMemberController — Coverage: 100.0% | Lines: 18 | Complexity: 8 App\Trip\Application\Command\AcceptInvitationHandler — Coverage: 100.0% | Lines: 16 | Complexity: 6 App\Trip\Infrastructure\Controllers\CreateTripController — Coverage: 100.0% | Lines: 15 | Complexity: 3 App\Trip\Infrastructure\Controllers\SetTripImageController — Coverage: 100.0% | Lines: 15 | Complexity: 7 App\Trip\Domain\TripInvitation — Coverage: 100.0% | Lines: 14 | Complexity: 13 App\Trip\Infrastructure\Controllers\CancelInvitationController — Coverage: 100.0% | Lines: 14 | Complexity: 6 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository — Coverage: 100.0% | Lines: 14 | Complexity: 7 App\Trip\Application\Command\CreateTripHandler — Coverage: 100.0% | Lines: 13 | Complexity: 2 App\Trip\Application\OwnershipTransferOnUserDeletion — Coverage: 100.0% | Lines: 13 | Complexity: 7 App\Trip\Application\Command\RemoveMemberHandler — Coverage: 100.0% | Lines: 12 | Complexity: 6 App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationStatusType — Coverage: 100.0% | Lines: 12 | Complexity: 6 App\Trip\Infrastructure\Persistence\Doctrine\Type\TripRoleType — Coverage: 100.0% | Lines: 12 | Complexity: 6 App\Trip\Application\Command\CancelInvitationHandler — Coverage: 100.0% | Lines: 10 | Complexity: 5 App\Trip\Application\Command\UpdateTripHandler — Coverage: 100.0% | Lines: 10 | Complexity: 2 App\Trip\Infrastructure\Controllers\ArchiveTripController — Coverage: 50.0% | Lines: 10 | Complexity: 5 App\Trip\Infrastructure\Controllers\DeleteTripController — Coverage: 100.0% | Lines: 10 | Complexity: 5 App\Trip\Infrastructure\Controllers\DeleteTripImageController — Coverage: 100.0% | Lines: 10 | Complexity: 5 App\Trip\Application\Command\ChangeMemberRoleHandler — Coverage: 100.0% | Lines: 9 | Complexity: 4 App\Trip\Application\Command\DeclineInvitationHandler — Coverage: 100.0% | Lines: 9 | Complexity: 5 App\Trip\Domain\TripMember — Coverage: 77.8% | Lines: 9 | Complexity: 8 App\Trip\Infrastructure\Controllers\AcceptInvitationController — Coverage: 100.0% | Lines: 8 | Complexity: 4 App\Trip\Infrastructure\Controllers\DeclineInvitationController — Coverage: 87.5% | Lines: 8 | Complexity: 4 App\Trip\Infrastructure\Controllers\GetTripController — Coverage: 100.0% | Lines: 8 | Complexity: 4 App\Trip\Infrastructure\Controllers\ListTripMembersController — Coverage: 87.5% | Lines: 8 | Complexity: 4 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository — Coverage: 100.0% | Lines: 8 | Complexity: 5 App\Trip\Application\Command\ChangeTripImageHandler — Coverage: 100.0% | Lines: 7 | Complexity: 3 App\Trip\Application\Command\DeleteTripHandler — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Trip\Application\Query\GetTripHandler — Coverage: 100.0% | Lines: 5 | Complexity: 4 App\Trip\Application\Query\ListTripsHandler — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Trip\Application\Query\TripMembersView — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Trip\Application\Command\ArchiveTripHandler — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Trip\Infrastructure\Controllers\ListMyInvitationsController — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Trip\Infrastructure\Controllers\ListTripsController — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Trip\Domain\ValueObject\TripRole — Coverage: 100.0% | Lines: 3 | Complexity: 5 App\Trip\Infrastructure\Http\ValidatesInvitationId — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Trip\Infrastructure\Http\ValidatesTripId — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Trip\Domain\Exceptions\TripAccessDenied — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Trip\Application\Command\AcceptInvitationCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ArchiveTripCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\CancelInvitationCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ChangeMemberRoleCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ChangeTripImageCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\CreateTripCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\DeclineInvitationCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\DeleteTripCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\InviteMemberCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\RemoveMemberCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\UpdateTripCommand — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Port\MemberSummary — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\GetTripMembersQuery — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\GetTripQuery — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\ListMyInvitationsQuery — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\ListTripsQuery — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\AlreadyMemberOrInvited — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\InvitationNotFound — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\InviteeNotFound — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\MemberNotFound — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\TripNotFound — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationIdType — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\MemberIdType — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\OwnerIdType — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\TripIdType — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Class CRAP Coverage
App\Trip\Domain\Trip23100.0%
App\Trip\Application\TripAccess20100.0%
App\Trip\Domain\TripInvitation13100.0%
App\Trip\Application\Query\GetTripMembersHandler10100.0%
App\Trip\Infrastructure\Controllers\ChangeMemberRoleController9.2186.4%
App\Trip\Domain\TripMember8.7077.8%
App\Trip\Infrastructure\Controllers\ArchiveTripController8.1250.0%
App\Trip\Infrastructure\Controllers\RemoveMemberController8100.0%
App\Trip\Application\Command\InviteMemberHandler7100.0%
App\Trip\Application\OwnershipTransferOnUserDeletion7100.0%
App\Trip\Infrastructure\Controllers\InviteMemberController795.0%
App\Trip\Infrastructure\Controllers\SetTripImageController7100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository7100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository7100.0%
App\Trip\Application\Command\AcceptInvitationHandler6100.0%
App\Trip\Application\Command\RemoveMemberHandler6100.0%
App\Trip\Infrastructure\Controllers\CancelInvitationController6100.0%
App\Trip\Infrastructure\Controllers\UpdateTripController6100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationStatusType6100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\TripRoleType6100.0%
App\Trip\Application\Command\CancelInvitationHandler5100.0%
App\Trip\Application\Command\DeclineInvitationHandler5100.0%
App\Trip\Application\Query\ListMyInvitationsHandler5100.0%
App\Trip\Domain\ValueObject\TripRole5100.0%
App\Trip\Infrastructure\Controllers\DeleteTripController5100.0%
App\Trip\Infrastructure\Controllers\DeleteTripImageController5100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository5100.0%
App\Trip\Infrastructure\Controllers\DeclineInvitationController4.0387.5%
App\Trip\Infrastructure\Controllers\ListTripMembersController4.0387.5%
App\Trip\Application\Command\ChangeMemberRoleHandler4100.0%
App\Trip\Application\Query\GetTripHandler4100.0%
App\Trip\Infrastructure\Controllers\AcceptInvitationController4100.0%
App\Trip\Infrastructure\Controllers\GetTripController4100.0%
App\Trip\Application\Command\ChangeTripImageHandler3100.0%
App\Trip\Application\Query\TripView3100.0%
App\Trip\Infrastructure\Controllers\CreateTripController3100.0%
App\Trip\Application\Command\ArchiveTripHandler2100.0%
App\Trip\Application\Command\CreateTripHandler2100.0%
App\Trip\Application\Command\DeleteTripHandler2100.0%
App\Trip\Application\Command\UpdateTripHandler2100.0%
App\Trip\Application\Query\ListTripsHandler2100.0%
App\Trip\Application\Query\TripMembersView2100.0%
App\Trip\Domain\Exceptions\TripAccessDenied2100.0%
App\Trip\Infrastructure\Controllers\ListMyInvitationsController2100.0%
App\Trip\Infrastructure\Controllers\ListTripsController2100.0%
App\Trip\Infrastructure\Http\ValidatesInvitationId2100.0%
App\Trip\Infrastructure\Http\ValidatesTripId2100.0%
App\Trip\Application\Command\AcceptInvitationCommand1100.0%
App\Trip\Application\Command\ArchiveTripCommand1100.0%
App\Trip\Application\Command\CancelInvitationCommand1100.0%
App\Trip\Application\Command\ChangeMemberRoleCommand1100.0%
App\Trip\Application\Command\ChangeTripImageCommand1100.0%
App\Trip\Application\Command\CreateTripCommand1100.0%
App\Trip\Application\Command\DeclineInvitationCommand1100.0%
App\Trip\Application\Command\DeleteTripCommand1100.0%
App\Trip\Application\Command\InviteMemberCommand1100.0%
App\Trip\Application\Command\RemoveMemberCommand1100.0%
App\Trip\Application\Command\UpdateTripCommand1100.0%
App\Trip\Application\Port\MemberSummary1100.0%
App\Trip\Application\Query\GetTripMembersQuery1100.0%
App\Trip\Application\Query\GetTripQuery1100.0%
App\Trip\Application\Query\ListMyInvitationsQuery1100.0%
App\Trip\Application\Query\ListTripsQuery1100.0%
App\Trip\Domain\Exceptions\AlreadyMemberOrInvited1100.0%
App\Trip\Domain\Exceptions\InvitationNotFound1100.0%
App\Trip\Domain\Exceptions\InviteeNotFound1100.0%
App\Trip\Domain\Exceptions\MemberNotFound1100.0%
App\Trip\Domain\Exceptions\TripNotFound1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationIdType1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\MemberIdType1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\OwnerIdType1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\TripIdType1100.0%
App\Trip\Domain\ValueObject\InvitationId0100.0%
App\Trip\Domain\ValueObject\InvitationStatus0100.0%
App\Trip\Domain\ValueObject\MemberId0100.0%
App\Trip\Domain\ValueObject\OwnerId0100.0%
App\Trip\Domain\ValueObject\TripId0100.0%

Methods

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

0% 20% 40% 60% 80% 100% 0 2 4 6 8 10 Line Coverage (%) Cyclomatic Complexity App\Trip\Application\Query\GetTripMembersHandler::handle — Coverage: 100.0% | Lines: 26 | Complexity: 8 App\Trip\Infrastructure\Controllers\UpdateTripController::update — Coverage: 100.0% | Lines: 20 | Complexity: 5 App\Trip\Application\Command\InviteMemberHandler::handle — Coverage: 100.0% | Lines: 19 | Complexity: 6 App\Trip\Infrastructure\Controllers\InviteMemberController::invite — Coverage: 94.7% | Lines: 19 | Complexity: 6 App\Trip\Application\Query\ListMyInvitationsHandler::handle — Coverage: 100.0% | Lines: 18 | Complexity: 4 App\Trip\Infrastructure\Controllers\ChangeMemberRoleController::change — Coverage: 94.1% | Lines: 17 | Complexity: 6 App\Trip\Infrastructure\Controllers\CreateTripController::create — Coverage: 100.0% | Lines: 14 | Complexity: 2 App\Trip\Infrastructure\Controllers\SetTripImageController::set — Coverage: 100.0% | Lines: 14 | Complexity: 6 App\Trip\Application\Query\TripView::fromTrip — Coverage: 100.0% | Lines: 13 | Complexity: 1 App\Trip\Application\Query\TripView::toArray — Coverage: 100.0% | Lines: 13 | Complexity: 1 App\Trip\Domain\Trip::create — Coverage: 100.0% | Lines: 13 | Complexity: 1 App\Trip\Infrastructure\Controllers\CancelInvitationController::cancel — Coverage: 100.0% | Lines: 13 | Complexity: 5 App\Trip\Infrastructure\Controllers\RemoveMemberController::remove — Coverage: 100.0% | Lines: 13 | Complexity: 5 App\Trip\Application\Command\CreateTripHandler::handle — Coverage: 100.0% | Lines: 12 | Complexity: 1 App\Trip\Application\Command\RemoveMemberHandler::handle — Coverage: 100.0% | Lines: 11 | Complexity: 5 App\Trip\Application\Command\CancelInvitationHandler::handle — Coverage: 100.0% | Lines: 9 | Complexity: 4 App\Trip\Application\Command\UpdateTripHandler::handle — Coverage: 100.0% | Lines: 9 | Complexity: 1 App\Trip\Infrastructure\Controllers\ArchiveTripController::archive — Coverage: 44.4% | Lines: 9 | Complexity: 4 App\Trip\Infrastructure\Controllers\DeleteTripController::delete — Coverage: 100.0% | Lines: 9 | Complexity: 4 App\Trip\Infrastructure\Controllers\DeleteTripImageController::delete — Coverage: 100.0% | Lines: 9 | Complexity: 4 App\Trip\Application\Command\AcceptInvitationHandler::handle — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Trip\Application\Command\ChangeMemberRoleHandler::handle — Coverage: 100.0% | Lines: 8 | Complexity: 3 App\Trip\Application\Command\DeclineInvitationHandler::handle — Coverage: 100.0% | Lines: 8 | Complexity: 4 App\Trip\Application\OwnershipTransferOnUserDeletion::onUserDeletion — Coverage: 100.0% | Lines: 8 | Complexity: 3 App\Trip\Application\Query\GetTripMembersHandler::memberEntry — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Trip\Application\TripAccess::accessibleTrips — Coverage: 100.0% | Lines: 8 | Complexity: 4 App\Trip\Application\Command\AcceptInvitationHandler::pendingForMe — Coverage: 100.0% | Lines: 7 | Complexity: 4 App\Trip\Domain\Trip::update — Coverage: 100.0% | Lines: 7 | Complexity: 1 App\Trip\Domain\Trip::sanitizeText — Coverage: 100.0% | Lines: 7 | Complexity: 3 App\Trip\Infrastructure\Controllers\AcceptInvitationController::accept — Coverage: 100.0% | Lines: 7 | Complexity: 3 App\Trip\Infrastructure\Controllers\DeclineInvitationController::decline — Coverage: 85.7% | Lines: 7 | Complexity: 3 App\Trip\Infrastructure\Controllers\GetTripController::get — Coverage: 100.0% | Lines: 7 | Complexity: 3 App\Trip\Infrastructure\Controllers\ListTripMembersController::list — Coverage: 85.7% | Lines: 7 | Complexity: 3 App\Trip\Application\Command\ChangeTripImageHandler::handle — Coverage: 100.0% | Lines: 6 | Complexity: 2 App\Trip\Application\TripAccess::getForExpenseWrite — Coverage: 100.0% | Lines: 6 | Complexity: 4 App\Trip\Application\TripAccess::getForManage — Coverage: 100.0% | Lines: 6 | Complexity: 4 App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationStatusType::convertToDatabaseValue — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Trip\Infrastructure\Persistence\Doctrine\Type\TripRoleType::convertToDatabaseValue — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Trip\Application\TripAccess::readableWithRole — Coverage: 100.0% | Lines: 5 | Complexity: 3 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::pendingFor — Coverage: 100.0% | Lines: 5 | Complexity: 1 App\Trip\Application\Command\DeleteTripHandler::handle — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Trip\Application\OwnershipTransferOnUserDeletion::pickHeir — Coverage: 100.0% | Lines: 4 | Complexity: 3 App\Trip\Application\Query\GetTripHandler::handle — Coverage: 100.0% | Lines: 4 | Complexity: 3 App\Trip\Application\Query\ListTripsHandler::handle — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Trip\Application\Query\TripMembersView::toArray — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Trip\Domain\Trip::assertBudget — Coverage: 100.0% | Lines: 4 | Complexity: 3 App\Trip\Infrastructure\Controllers\ChangeMemberRoleController::isUuid — Coverage: 50.0% | Lines: 4 | Complexity: 2 App\Trip\Infrastructure\Controllers\RemoveMemberController::isUuid — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::pendingOfTrip — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::pendingOfInvitee — Coverage: 100.0% | Lines: 4 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationStatusType::convertToPHPValue — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Trip\Infrastructure\Persistence\Doctrine\Type\TripRoleType::convertToPHPValue — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Trip\Application\Command\ArchiveTripHandler::handle — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Trip\Application\TripAccess::roleFor — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Trip\Domain\TripInvitation::__construct — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Trip\Domain\TripMember::changeRole — Coverage: 66.7% | Lines: 3 | Complexity: 2 App\Trip\Infrastructure\Controllers\ListMyInvitationsController::list — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Trip\Infrastructure\Controllers\ListTripsController::list — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::roleOf — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Trip\Infrastructure\Http\ValidatesInvitationId::parseInvitationId — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Trip\Infrastructure\Http\ValidatesTripId::parseTripId — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Trip\Domain\TripMember::__construct — Coverage: 50.0% | Lines: 2 | Complexity: 2 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::save — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::remove — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::save — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::remove — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::find — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::ofTrip — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::ofUser — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::save — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::remove — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::ofOwner — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationStatusType::getSQLDeclaration — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\TripRoleType::getSQLDeclaration — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Trip\Application\Command\AcceptInvitationCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\AcceptInvitationHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ArchiveTripCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ArchiveTripHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\CancelInvitationCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\CancelInvitationHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ChangeMemberRoleCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ChangeMemberRoleHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ChangeTripImageCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\ChangeTripImageHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\CreateTripCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\CreateTripHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\DeclineInvitationCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\DeclineInvitationHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\DeleteTripCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\DeleteTripHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\InviteMemberCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\InviteMemberHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\RemoveMemberCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\RemoveMemberHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\UpdateTripCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Command\UpdateTripHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\OwnershipTransferOnUserDeletion::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Port\MemberSummary::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\GetTripHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\GetTripMembersHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\GetTripMembersQuery::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\GetTripQuery::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\ListMyInvitationsHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\ListMyInvitationsQuery::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\ListTripsHandler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\ListTripsQuery::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\TripMembersView::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\Query\TripView::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\TripAccess::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\TripAccess::findReadable — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Application\TripAccess::getReadable — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\AlreadyMemberOrInvited::create — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\InvitationNotFound::withId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\InviteeNotFound::withEmail — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\MemberNotFound::withId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\TripAccessDenied::cannotWriteExpense — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\TripAccessDenied::cannotManageTrip — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Exceptions\TripNotFound::withId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::transferOwnershipTo — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::id — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::ownerId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::isOwnedBy — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::name — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::destination — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::dateRange — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::currency — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::budget — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::createdAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::imageName — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::changeImage — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::archive — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\Trip::isArchived — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::invite — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::accept — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::decline — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::id — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::tripId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::inviteeId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::inviterId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::role — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::status — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::isPending — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripInvitation::createdAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripMember::tripId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripMember::userId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripMember::role — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\TripMember::createdAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\ValueObject\TripRole::canWriteExpense — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Trip\Domain\ValueObject\TripRole::canManageTrip — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Domain\ValueObject\TripRole::isStorableMembership — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Trip\Infrastructure\Controllers\AcceptInvitationController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\ArchiveTripController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\CancelInvitationController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\ChangeMemberRoleController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\CreateTripController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\DeclineInvitationController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\DeleteTripController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\DeleteTripImageController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\GetTripController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\InviteMemberController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\ListMyInvitationsController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\ListTripMembersController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\ListTripsController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\RemoveMemberController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\SetTripImageController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Controllers\UpdateTripController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::ofId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::ofId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationIdType::className — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\MemberIdType::className — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\OwnerIdType::className — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Trip\Infrastructure\Persistence\Doctrine\Type\TripIdType::className — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
App\Trip\Application\Query\GetTripMembersHandler::handle8100.0%
App\Trip\Infrastructure\Controllers\ArchiveTripController::archive6.7444.4%
App\Trip\Infrastructure\Controllers\ChangeMemberRoleController::change6.0194.1%
App\Trip\Infrastructure\Controllers\InviteMemberController::invite6.0194.7%
App\Trip\Application\Command\InviteMemberHandler::handle6100.0%
App\Trip\Infrastructure\Controllers\SetTripImageController::set6100.0%
App\Trip\Application\Command\RemoveMemberHandler::handle5100.0%
App\Trip\Infrastructure\Controllers\CancelInvitationController::cancel5100.0%
App\Trip\Infrastructure\Controllers\RemoveMemberController::remove5100.0%
App\Trip\Infrastructure\Controllers\UpdateTripController::update5100.0%
App\Trip\Application\Command\AcceptInvitationHandler::pendingForMe4100.0%
App\Trip\Application\Command\CancelInvitationHandler::handle4100.0%
App\Trip\Application\Command\DeclineInvitationHandler::handle4100.0%
App\Trip\Application\Query\ListMyInvitationsHandler::handle4100.0%
App\Trip\Application\TripAccess::getForExpenseWrite4100.0%
App\Trip\Application\TripAccess::getForManage4100.0%
App\Trip\Application\TripAccess::accessibleTrips4100.0%
App\Trip\Infrastructure\Controllers\DeleteTripController::delete4100.0%
App\Trip\Infrastructure\Controllers\DeleteTripImageController::delete4100.0%
App\Trip\Infrastructure\Controllers\DeclineInvitationController::decline3.0385.7%
App\Trip\Infrastructure\Controllers\ListTripMembersController::list3.0385.7%
App\Trip\Application\Command\ChangeMemberRoleHandler::handle3100.0%
App\Trip\Application\OwnershipTransferOnUserDeletion::onUserDeletion3100.0%
App\Trip\Application\OwnershipTransferOnUserDeletion::pickHeir3100.0%
App\Trip\Application\Query\GetTripHandler::handle3100.0%
App\Trip\Application\TripAccess::readableWithRole3100.0%
App\Trip\Domain\Trip::sanitizeText3100.0%
App\Trip\Domain\Trip::assertBudget3100.0%
App\Trip\Infrastructure\Controllers\AcceptInvitationController::accept3100.0%
App\Trip\Infrastructure\Controllers\GetTripController::get3100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationStatusType::convertToDatabaseValue3100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\TripRoleType::convertToDatabaseValue3100.0%
App\Trip\Domain\TripMember::__construct2.5050.0%
App\Trip\Infrastructure\Controllers\ChangeMemberRoleController::isUuid2.5050.0%
App\Trip\Domain\TripMember::changeRole2.1566.7%
App\Trip\Application\Command\ChangeTripImageHandler::handle2100.0%
App\Trip\Application\TripAccess::roleFor2100.0%
App\Trip\Domain\TripInvitation::__construct2100.0%
App\Trip\Domain\ValueObject\TripRole::canWriteExpense2100.0%
App\Trip\Domain\ValueObject\TripRole::isStorableMembership2100.0%
App\Trip\Infrastructure\Controllers\CreateTripController::create2100.0%
App\Trip\Infrastructure\Controllers\RemoveMemberController::isUuid2100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationStatusType::convertToPHPValue2100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\TripRoleType::convertToPHPValue2100.0%
App\Trip\Infrastructure\Http\ValidatesInvitationId::parseInvitationId2100.0%
App\Trip\Infrastructure\Http\ValidatesTripId::parseTripId2100.0%
App\Trip\Application\Command\AcceptInvitationCommand::__construct1100.0%
App\Trip\Application\Command\AcceptInvitationHandler::__construct1100.0%
App\Trip\Application\Command\AcceptInvitationHandler::handle1100.0%
App\Trip\Application\Command\ArchiveTripCommand::__construct1100.0%
App\Trip\Application\Command\ArchiveTripHandler::__construct1100.0%
App\Trip\Application\Command\ArchiveTripHandler::handle1100.0%
App\Trip\Application\Command\CancelInvitationCommand::__construct1100.0%
App\Trip\Application\Command\CancelInvitationHandler::__construct1100.0%
App\Trip\Application\Command\ChangeMemberRoleCommand::__construct1100.0%
App\Trip\Application\Command\ChangeMemberRoleHandler::__construct1100.0%
App\Trip\Application\Command\ChangeTripImageCommand::__construct1100.0%
App\Trip\Application\Command\ChangeTripImageHandler::__construct1100.0%
App\Trip\Application\Command\CreateTripCommand::__construct1100.0%
App\Trip\Application\Command\CreateTripHandler::__construct1100.0%
App\Trip\Application\Command\CreateTripHandler::handle1100.0%
App\Trip\Application\Command\DeclineInvitationCommand::__construct1100.0%
App\Trip\Application\Command\DeclineInvitationHandler::__construct1100.0%
App\Trip\Application\Command\DeleteTripCommand::__construct1100.0%
App\Trip\Application\Command\DeleteTripHandler::__construct1100.0%
App\Trip\Application\Command\DeleteTripHandler::handle1100.0%
App\Trip\Application\Command\InviteMemberCommand::__construct1100.0%
App\Trip\Application\Command\InviteMemberHandler::__construct1100.0%
App\Trip\Application\Command\RemoveMemberCommand::__construct1100.0%
App\Trip\Application\Command\RemoveMemberHandler::__construct1100.0%
App\Trip\Application\Command\UpdateTripCommand::__construct1100.0%
App\Trip\Application\Command\UpdateTripHandler::__construct1100.0%
App\Trip\Application\Command\UpdateTripHandler::handle1100.0%
App\Trip\Application\OwnershipTransferOnUserDeletion::__construct1100.0%
App\Trip\Application\Port\MemberSummary::__construct1100.0%
App\Trip\Application\Query\GetTripHandler::__construct1100.0%
App\Trip\Application\Query\GetTripMembersHandler::__construct1100.0%
App\Trip\Application\Query\GetTripMembersHandler::memberEntry1100.0%
App\Trip\Application\Query\GetTripMembersQuery::__construct1100.0%
App\Trip\Application\Query\GetTripQuery::__construct1100.0%
App\Trip\Application\Query\ListMyInvitationsHandler::__construct1100.0%
App\Trip\Application\Query\ListMyInvitationsQuery::__construct1100.0%
App\Trip\Application\Query\ListTripsHandler::__construct1100.0%
App\Trip\Application\Query\ListTripsHandler::handle1100.0%
App\Trip\Application\Query\ListTripsQuery::__construct1100.0%
App\Trip\Application\Query\TripMembersView::__construct1100.0%
App\Trip\Application\Query\TripMembersView::toArray1100.0%
App\Trip\Application\Query\TripView::__construct1100.0%
App\Trip\Application\Query\TripView::fromTrip1100.0%
App\Trip\Application\Query\TripView::toArray1100.0%
App\Trip\Application\TripAccess::__construct1100.0%
App\Trip\Application\TripAccess::findReadable1100.0%
App\Trip\Application\TripAccess::getReadable1100.0%
App\Trip\Domain\Exceptions\AlreadyMemberOrInvited::create1100.0%
App\Trip\Domain\Exceptions\InvitationNotFound::withId1100.0%
App\Trip\Domain\Exceptions\InviteeNotFound::withEmail1100.0%
App\Trip\Domain\Exceptions\MemberNotFound::withId1100.0%
App\Trip\Domain\Exceptions\TripAccessDenied::cannotWriteExpense1100.0%
App\Trip\Domain\Exceptions\TripAccessDenied::cannotManageTrip1100.0%
App\Trip\Domain\Exceptions\TripNotFound::withId1100.0%
App\Trip\Domain\Trip::__construct1100.0%
App\Trip\Domain\Trip::create1100.0%
App\Trip\Domain\Trip::update1100.0%
App\Trip\Domain\Trip::transferOwnershipTo1100.0%
App\Trip\Domain\Trip::id1100.0%
App\Trip\Domain\Trip::ownerId1100.0%
App\Trip\Domain\Trip::isOwnedBy1100.0%
App\Trip\Domain\Trip::name1100.0%
App\Trip\Domain\Trip::destination1100.0%
App\Trip\Domain\Trip::dateRange1100.0%
App\Trip\Domain\Trip::currency1100.0%
App\Trip\Domain\Trip::budget1100.0%
App\Trip\Domain\Trip::createdAt1100.0%
App\Trip\Domain\Trip::imageName1100.0%
App\Trip\Domain\Trip::changeImage1100.0%
App\Trip\Domain\Trip::archive1100.0%
App\Trip\Domain\Trip::isArchived1100.0%
App\Trip\Domain\TripInvitation::invite1100.0%
App\Trip\Domain\TripInvitation::accept1100.0%
App\Trip\Domain\TripInvitation::decline1100.0%
App\Trip\Domain\TripInvitation::id1100.0%
App\Trip\Domain\TripInvitation::tripId1100.0%
App\Trip\Domain\TripInvitation::inviteeId1100.0%
App\Trip\Domain\TripInvitation::inviterId1100.0%
App\Trip\Domain\TripInvitation::role1100.0%
App\Trip\Domain\TripInvitation::status1100.0%
App\Trip\Domain\TripInvitation::isPending1100.0%
App\Trip\Domain\TripInvitation::createdAt1100.0%
App\Trip\Domain\TripMember::tripId1100.0%
App\Trip\Domain\TripMember::userId1100.0%
App\Trip\Domain\TripMember::role1100.0%
App\Trip\Domain\TripMember::createdAt1100.0%
App\Trip\Domain\ValueObject\TripRole::canManageTrip1100.0%
App\Trip\Infrastructure\Controllers\AcceptInvitationController::__construct1100.0%
App\Trip\Infrastructure\Controllers\ArchiveTripController::__construct1100.0%
App\Trip\Infrastructure\Controllers\CancelInvitationController::__construct1100.0%
App\Trip\Infrastructure\Controllers\ChangeMemberRoleController::__construct1100.0%
App\Trip\Infrastructure\Controllers\CreateTripController::__construct1100.0%
App\Trip\Infrastructure\Controllers\DeclineInvitationController::__construct1100.0%
App\Trip\Infrastructure\Controllers\DeleteTripController::__construct1100.0%
App\Trip\Infrastructure\Controllers\DeleteTripImageController::__construct1100.0%
App\Trip\Infrastructure\Controllers\GetTripController::__construct1100.0%
App\Trip\Infrastructure\Controllers\InviteMemberController::__construct1100.0%
App\Trip\Infrastructure\Controllers\ListMyInvitationsController::__construct1100.0%
App\Trip\Infrastructure\Controllers\ListMyInvitationsController::list1100.0%
App\Trip\Infrastructure\Controllers\ListTripMembersController::__construct1100.0%
App\Trip\Infrastructure\Controllers\ListTripsController::__construct1100.0%
App\Trip\Infrastructure\Controllers\ListTripsController::list1100.0%
App\Trip\Infrastructure\Controllers\RemoveMemberController::__construct1100.0%
App\Trip\Infrastructure\Controllers\SetTripImageController::__construct1100.0%
App\Trip\Infrastructure\Controllers\UpdateTripController::__construct1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::__construct1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::save1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::remove1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::ofId1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::pendingFor1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::pendingOfTrip1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripInvitationRepository::pendingOfInvitee1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::__construct1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::save1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::remove1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::roleOf1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::find1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::ofTrip1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripMemberRepository::ofUser1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::__construct1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::save1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::remove1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::ofId1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\DoctrineTripRepository::ofOwner1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationIdType::className1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\InvitationStatusType::getSQLDeclaration1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\MemberIdType::className1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\OwnerIdType::className1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\TripIdType::className1100.0%
App\Trip\Infrastructure\Persistence\Doctrine\Type\TripRoleType::getSQLDeclaration1100.0%