Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
App\Auth\Application\Orchestrator\IdentityCompletedOrchestrator0%
App\Auth\Domain\Event\EmailChangedEvent0%
App\Auth\Domain\Exception\AuthErrorCode0%
App\Auth\Infrastructure\Messenger\AuthEventBus0%
App\CollectionManagement\Infrastructure\Controller\PartController0%
App\CollectionManagement\Infrastructure\Controller\SetController0%
App\CollectionManagement\Infrastructure\Persistence\Doctrine\Entity\DoctrineSet0%
App\CollectionManagement\Infrastructure\Persistence\Doctrine\Entity\DoctrineUserSet0%
App\CollectionManagement\Infrastructure\Persistence\Doctrine\Repository\DoctrinePartRepository0%
App\CollectionManagement\Infrastructure\Persistence\Doctrine\Repository\DoctrineSetRepository0%
App\CollectionManagement\Infrastructure\Persistence\Doctrine\Repository\DoctrineUserSetRepository0%
App\Shared\Domain\Exception\TransactionProviderException0%
App\User\Application\Command\DeleteAvatarCommand0%
App\Shared\Infrastructure\EventSubscriber\ExceptionSubscriber7%
App\User\Infrastructure\Adapter\RetrieveUserDtoAdapter16%
App\CollectionManagement\Domain\Model\External\ExternalSetElement20%
App\Auth\Infrastructure\EventHandler\IdentityCompletedEventHandler33%
App\Shared\Infrastructure\Persistence\Doctrine\Entity\DoctrineStoredFile35%
App\Auth\Infrastructure\Persistence\Doctrine\Entity\DoctrineIdentity42%
App\Shared\Infrastructure\Twig\FrontendUrlExtension42%
App\Auth\Infrastructure\Persistence\Doctrine\Adapter\DoctrineEmailAvailabilityCheckerAdapter50%
App\Auth\Infrastructure\Security\User\DummyAuthenticatedUser50%
App\Notification\Domain\Event\NotificationLogCreatedEvent50%
App\Notification\Infrastructure\Sender\SmsSender50%
App\Shared\Infrastructure\Persistence\Doctrine\Repository\DoctrineStoredFileRepository50%
App\Notification\Infrastructure\Renderer\DefaultNotificationSubjectGenerator60%
App\Shared\Infrastructure\Service\DefaultFileStorageService60%
App\User\Infrastructure\Persistence\Doctrine\Entity\DoctrineUser60%
App\Shared\Domain\Validation\ValidationErrors64%
App\Auth\Infrastructure\EventHandler\IdentityCreatedEventHandler66%
App\Auth\Infrastructure\Service\SymfonyPasswordHasher66%
App\CollectionManagement\Application\Command\AddUserSetCommand66%
App\CollectionManagement\Infrastructure\Service\RebrickableDataLoader66%
App\Notification\Application\Adapter\RetrieveIdentityInfoAdapter66%
App\Notification\Infrastructure\Sender\EmailSender66%
App\Shared\Infrastructure\Normalizer\ExceptionNormalizer66%
App\User\Infrastructure\EventHandler\AvatarUpdatedEventHandler66%
App\User\Infrastructure\EventHandler\UserCreatedEventHandler66%
App\Shared\Domain\Model\EntityId74%
App\Auth\Application\Handler\ChangeEmailHandler75%
App\Auth\Application\Handler\UserCreatedHandler75%
App\Auth\Infrastructure\Persistence\Doctrine\Repository\DoctrineIdentityRepository78%
App\Shared\Infrastructure\Service\StoredFileUrlTransformer80%
App\User\Infrastructure\Controller\UserController80%
App\Notification\Infrastructure\Persistence\Doctrine\Entity\DoctrineNotificationLog83%
App\Shared\Infrastructure\Normalizer\DomainExceptionNormalizer83%
App\Shared\Domain\Model\Collection84%
App\Shared\Infrastructure\Normalizer\UnprocessableEntityHttpExceptionNormalizer85%
App\Auth\Infrastructure\Controller\AuthController85%
App\Notification\Infrastructure\Persistence\Doctrine\Repository\DoctrineNotificationLogRepository85%
App\User\Infrastructure\Persistence\Doctrine\Repository\DoctrineUserRepository85%
App\Shared\Domain\Validation\Validator88%
App\Shared\Infrastructure\Service\Base64FileDecoder88%

Project Risks

Class CRAP
App\Shared\Domain\Validation\Validator88.8%46682
App\User\Infrastructure\Persistence\Doctrine\Entity\DoctrineUser60.0%14166
App\Shared\Domain\Validation\ValidationErrors64.3%1485
App\Shared\Infrastructure\Persistence\Doctrine\Entity\DoctrineStoredFile35.7%1277
App\Shared\Infrastructure\Normalizer\UnprocessableEntityHttpExceptionNormalizer85.0%1169
App\Shared\Domain\Model\EntityId74.1%844
App\Shared\Infrastructure\EventSubscriber\ExceptionSubscriber7.7%739
App\CollectionManagement\Infrastructure\Service\RebrickableDataLoader66.7%1732
App\Auth\Infrastructure\Persistence\Doctrine\Repository\DoctrineIdentityRepository78.9%1117
App\CollectionManagement\Infrastructure\Controller\PartController0.0%312
App\CollectionManagement\Infrastructure\Controller\SetController0.0%312
App\Shared\Domain\Model\Collection84.6%911
App\Shared\Infrastructure\Normalizer\DomainExceptionNormalizer83.3%1011
App\User\Infrastructure\Adapter\RetrieveUserDtoAdapter16.7%410
App\Notification\Application\Adapter\RetrieveIdentityInfoAdapter66.7%67
App\Notification\Infrastructure\Sender\SmsSender50.0%56
App\Shared\Infrastructure\Twig\FrontendUrlExtension42.9%56
App\Auth\Infrastructure\Controller\AuthController85.7%55
App\Notification\Infrastructure\Sender\EmailSender66.7%55
App\User\Infrastructure\Persistence\Doctrine\Repository\DoctrineUserRepository85.7%55
App\Notification\Infrastructure\Persistence\Doctrine\Entity\DoctrineNotificationLog83.3%44
App\Notification\Infrastructure\Renderer\DefaultNotificationSubjectGenerator60.0%34
App\Shared\Infrastructure\Service\Base64FileDecoder88.9%44
App\User\Infrastructure\Controller\UserController80.0%44
App\Auth\Application\Handler\ChangeEmailHandler75.0%33
App\Auth\Application\Handler\UserCreatedHandler75.0%33
App\Shared\Infrastructure\Service\StoredFileUrlTransformer80.0%33

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
__construct0%
__invoke0%
__construct0%
getIdentity0%
getMessage0%
getCode0%
changeEmail0%
__construct0%
__invoke0%
__construct0%
dispatch0%
isEmailAvailable0%
getId0%
getEmail0%
getRoles0%
getPasswordHash0%
getPassword0%
isValid0%
getExternalSetId0%
getExternalId0%
getExternalSetId0%
getExternalPartId0%
getQuantity0%
__construct0%
searchPart0%
__construct0%
searchSet0%
__construct0%
getId0%
getExternalId0%
getLegoId0%
getName0%
getPartCount0%
getImagePath0%
getProductionYear0%
toDomain0%
__construct0%
getId0%
toDomain0%
__construct0%
__construct0%
add0%
update0%
findByUserAndExternalIds0%
__construct0%
findByUserAndExternalIds0%
getSetParts0%
getIdentityInfoFromUserId0%
getNotificationLog0%
pullEvents0%
findByMessageIdAndSender0%
send0%
__construct0%
getIterator0%
equals0%
__toString0%
requireNotNull0%
getSubscribedEvents0%
getErrorCode0%
getId0%
getPath0%
getFilename0%
getMimeType0%
getExtension0%
getType0%
getCreatedAt0%
findById0%
delete0%
delete0%
generateUrl0%
path0%
__construct0%
map0%
getUserDtoFromId0%
__construct0%
getId0%
getIdentityId0%
getCreatedAt0%
getUpdatedAt0%
getAvatar0%
findById0%
fetchFromExternalApi33%
send33%
generate60%
fromDomain60%
__invoke66%
__invoke66%
me66%
findByEmail66%
findByUsername66%
findByIdentifier66%
fetchSetsFromExternalApi66%
fetchPartsFromExternalApi66%
fetchPartElementsFromExternalApi66%
fetchSetElementsFromExternalApi66%
validate66%
normalizeErrors66%
me66%
generate68%
__construct75%
toDomain75%
supports75%
__invoke75%
changeEmail80%
requireValidUrl80%
normalizeErrors81%
routeShouldBeLimited83%
__construct83%
__construct83%
requireValidUuidV483%
getErrorCode83%
routeShouldBeLimited83%
fromDomain84%
requireValidEmail87%
decodeToTempFile87%
onExceptionEvent88%
normalizeErrors88%