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