Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
BO\Zmsbackend\Availability\Api\AvailabilityClosureToggle0%
BO\Zmsbackend\Helper\AnonymizeStatisticDataByCron0%
BO\Zmsbackend\Helper\ErrorHandler0%
BO\Zmsbackend\Helper\EventLogCleanUpByCron0%
BO\Zmsbackend\Helper\LogCleanUp0%
BO\Zmsbackend\Mail\Api\MailCustomTemplatesGet0%
BO\Zmsbackend\Mail\Api\MailMergedTemplatesGet0%
BO\Zmsbackend\Mail\Api\MailTemplatesCreateCustomization0%
BO\Zmsbackend\Mail\Api\MailTemplatesDelete0%
BO\Zmsbackend\Mail\Api\MailTemplatesGet0%
BO\Zmsbackend\Mail\Api\MailTemplatesPreview0%
BO\Zmsbackend\Mail\Api\MailTemplatesUpdate0%
BO\Zmsbackend\Process\Api\ProcessFreeUnique0%
BO\Zmsbackend\Process\Api\ProcessListSummaryMail0%
BO\Zmsbackend\Process\Api\ProcessPreconfirm0%
BO\Zmsbackend\Process\Api\ProcessPreconfirmationMail0%
BO\Zmsbackend\Process\Api\ProcessRedirect0%
BO\Zmsbackend\Role\Repository\UserRole0%
BO\Zmsbackend\Application8%
BO\Zmsbackend\Mail\Service\MailTemplates22%
BO\Zmsbackend\Helper\VerboseCronLogTrait22%
BO\Zmsbackend\Helper\ProcessStatus38%
BO\Zmsbackend\Slot\Repository\SlotList43%
BO\Zmsbackend\Helper\QueueMailReminder47%
BO\Zmsbackend\Availability\Service\Closure47%
BO\Zmsbackend\Mail\Api\MailDelete53%
BO\Zmsbackend\Mail\Repository\Mailtemplate55%
BO\Zmsbackend\Availability\Api\AvailabilityDelete58%
BO\Zmsbackend\Useraccount\Service\Useraccount61%
BO\Zmsbackend\Calldisplay\Api\CalldisplayQueue61%
BO\Zmsbackend\Workstation\Api\WorkstationProcessRemove62%
BO\Zmsbackend\Helper\CleanProcessArchivedToday66%
BO\Zmsbackend\ProcessSearchHistory\Repository\ProcessSearchHistory67%
BO\Zmsbackend\Dayoff\Repository\DayOff69%
BO\Zmsbackend\Mail\Api\MailList70%
BO\Zmsbackend\Helper\ExchangeAccessFilter72%
BO\Zmsbackend\Process\Api\ProcessDelete72%
BO\Zmsbackend\Helper\AvailabilityHistoryCleanUpByCron72%
BO\Zmsbackend\Process\Api\ProcessConfirm73%
BO\Zmsbackend\Mail\Repository\MailQueue73%
BO\Zmsbackend\Availability\Api\AvailabilityHistoryByScope74%
BO\Zmsbackend\Request\Service\Request75%
BO\Zmsbackend\Availability\Service\AvailabilityHistory76%
BO\Zmsbackend\Helper\User76%
BO\Zmsbackend\Slot\Repository\Slot76%
BO\Zmsbackend\Permission\Repository\Permission76%
BO\Zmsbackend\Process\Repository\Process77%
BO\Zmsbackend\Slot\Service\Slot77%
BO\Zmsbackend\Mail\Service\Mail78%
BO\Zmsbackend\Log\Service\Log78%
BO\Zmsbackend\Process\Api\ProcessConfirmationMail79%
BO\Zmsbackend\Process\Api\ProcessListByClusterAndDate79%
BO\Zmsbackend\Availability\Repository\Closure80%
BO\Zmsbackend\Status\Api\StatusGet80%
BO\Zmsbackend\Calldisplay\Service\Calldisplay81%
BO\Zmsbackend\Provider\Service\Provider81%
BO\Zmsbackend\ProcessSearchHistory\Service\ProcessSearchHistory81%
BO\Zmsbackend\Availability\Api\AvailabilitySlotsUpdate82%
BO\Zmsbackend\Process\Api\ProcessListByScopeAndDate82%
BO\Zmsbackend\Process\Service\Process82%
BO\Zmsbackend\Calendar\Api\OverallCalendarRead82%
BO\Zmsbackend\Workstation\Api\WorkstationProcess84%
BO\Zmsbackend\Useraccount\Api\UseraccountGet84%
BO\Zmsbackend\Process\Api\ProcessDeleteQuick85%
BO\Zmsbackend\Process\Service\ProcessStatusFree85%
BO\Zmsbackend\Useraccount\Api\UseraccountListByRoleAndDepartments86%
BO\Zmsbackend\Helper\MailTemplateProvider87%
BO\Zmsbackend\Workstation\Api\WorkstationLogin87%
BO\Zmsbackend\Role\Repository\Role87%
BO\Zmsbackend\Source\Service\Source88%
BO\Zmsbackend\Useraccount\Repository\Useraccount89%
BO\Zmsbackend\Helper\TicketprinterAccess89%
BO\Zmsbackend\Ticketprinter\Service\Ticketprinter89%

Project Risks

Class CRAP
BO\Zmsbackend\Useraccount\Service\Useraccount3627
BO\Zmsbackend\Helper\ProcessStatus892
BO\Zmsbackend\Process\Repository\Process706
BO\Zmsbackend\Mail\Service\MailTemplates549
BO\Zmsbackend\Application294
BO\Zmsbackend\Request\Service\Request294
BO\Zmsbackend\Slot\Repository\SlotList286
BO\Zmsbackend\Process\Service\Process256
BO\Zmsbackend\Process\Api\ProcessPreconfirmationMail240
BO\Zmsbackend\Slot\Service\Slot198
BO\Zmsbackend\Process\Api\ProcessListSummaryMail182
BO\Zmsbackend\Process\Api\ProcessRedirect156
BO\Zmsbackend\Log\Service\Log155
BO\Zmsbackend\Helper\User117
BO\Zmsbackend\Helper\ErrorHandler110
BO\Zmsbackend\Helper\QueueMailReminder92
BO\Zmsbackend\Process\Api\ProcessPreconfirm90
BO\Zmsbackend\Process\Service\ProcessStatusFree77
BO\Zmsbackend\Provider\Service\Provider56
BO\Zmsbackend\Process\Api\ProcessFreeUnique56
BO\Zmsbackend\Availability\Service\Closure53
BO\Zmsbackend\Availability\Service\AvailabilityHistory49
BO\Zmsbackend\Mail\Service\Mail48
BO\Zmsbackend\Helper\EventLogCleanUpByCron42
BO\Zmsbackend\Helper\LogCleanUp42
BO\Zmsbackend\ProcessSearchHistory\Service\ProcessSearchHistory38
BO\Zmsbackend\Calendar\Api\OverallCalendarRead36
BO\Zmsbackend\Helper\ExchangeAccessFilter34
BO\Zmsbackend\Useraccount\Repository\Useraccount32
BO\Zmsbackend\Availability\Api\AvailabilityClosureToggle30
BO\Zmsbackend\Helper\AnonymizeStatisticDataByCron30
BO\Zmsbackend\Availability\Api\AvailabilityHistoryByScope28
BO\Zmsbackend\Source\Service\Source27
BO\Zmsbackend\Ticketprinter\Service\Ticketprinter24
BO\Zmsbackend\Calldisplay\Service\Calldisplay23
BO\Zmsbackend\Workstation\Api\WorkstationProcess23
BO\Zmsbackend\Helper\TicketprinterAccess18
BO\Zmsbackend\Process\Api\ProcessConfirmationMail16
BO\Zmsbackend\Process\Api\ProcessConfirm16
BO\Zmsbackend\Calldisplay\Api\CalldisplayQueue15
BO\Zmsbackend\Workstation\Api\WorkstationProcessRemove15
BO\Zmsbackend\Process\Api\ProcessDelete14
BO\Zmsbackend\Mail\Api\MailDelete14
BO\Zmsbackend\Availability\Repository\Closure13
BO\Zmsbackend\Helper\VerboseCronLogTrait11
BO\Zmsbackend\Process\Api\ProcessListByClusterAndDate10
BO\Zmsbackend\Availability\Api\AvailabilitySlotsUpdate10
BO\Zmsbackend\Process\Api\ProcessDeleteQuick10
BO\Zmsbackend\ProcessSearchHistory\Repository\ProcessSearchHistory10
BO\Zmsbackend\Role\Repository\Role10
BO\Zmsbackend\Helper\MailTemplateProvider8
BO\Zmsbackend\Helper\AvailabilityHistoryCleanUpByCron7
BO\Zmsbackend\Helper\CleanProcessArchivedToday7
BO\Zmsbackend\Mail\Repository\MailQueue6
BO\Zmsbackend\Status\Api\StatusGet6
BO\Zmsbackend\Process\Api\ProcessListByScopeAndDate6
BO\Zmsbackend\Slot\Repository\Slot5
BO\Zmsbackend\Permission\Repository\Permission5
BO\Zmsbackend\Availability\Api\AvailabilityDelete5
BO\Zmsbackend\Workstation\Api\WorkstationLogin5
BO\Zmsbackend\Mail\Api\MailList4
BO\Zmsbackend\Useraccount\Api\UseraccountGet4
BO\Zmsbackend\Useraccount\Api\UseraccountListByRoleAndDepartments3

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
initializeLogger0%
initializeRequestLimits0%
getLoggerConfig0%
getRequestLimits0%
initialize0%
readResponse0%
parseDateParam0%
addConditionDate0%
addConditionId0%
writeDldbSlotUpdate0%
readByScopeIdAndDate0%
deleteEntity0%
createOne0%
readEntity0%
readQueueListFromScopeAndStatus0%
readQueueListByStatus0%
addConditionDayOffId0%
addConditionScopeId0%
addConditionDepartmentId0%
deleteEntity0%
__construct0%
startAnonymizing0%
log0%
log0%
__invoke0%
__construct0%
log0%
startProcessing0%
getFilteredEntityByUseraccountSuperuser0%
__construct0%
log0%
startProcessing0%
getTemplate0%
setStatusPreconfirmed0%
isBlockedProcess0%
isQueuedProcess0%
isPreconfirmedProcess0%
isConfirmedProcess0%
isReservedProcess0%
isCalledProcess0%
isProcessingProcess0%
isPendingProcess0%
isMissedProcess0%
isParkedProcess0%
isDeletedProcess0%
writeReminder0%
getProcessListOverview0%
testTicketprinterIsProtectedEnabled0%
testWorkstationAssigend0%
addConditionOlderThan0%
actionLabelFromCode0%
delete0%
buildCitizenNameWordBoundaryParts0%
clearLogsOlderThan0%
readResponse0%
readResponse0%
readResponse0%
readResponse0%
readResponse0%
readResponse0%
readResponse0%
addWhereIn0%
selectFields0%
addConditionName0%
addConditionId0%
addTemplateContent0%
readEntities0%
readEntitiesIds0%
readListIds0%
deleteEntities0%
readEntity0%
readList0%
readTemplate0%
readTemplateById0%
deleteTemplateById0%
updateTemplateContent0%
updateTemplateContentById0%
createCustomizationForProvider0%
updateEntity0%
readProperty0%
replaceProperty0%
deleteProperty0%
fetchData0%
getSpecifiedValue0%
addConditionName0%
validateProcessLimits0%
readResponse0%
readResponse0%
readDepartment0%
setWithProcessClient0%
writeLogEntry0%
testEventLogEntries0%
readResponse0%
testProcessData0%
validateProcessLimits0%
readResponse0%
writeMail0%
testProcessAccess0%
testEmailRequired0%
getProcessListOverview0%
readResponse0%
testProcessData0%
testProcessAccess0%
readValidProcess0%
addConditionDisplayNumber0%
calculateStatus0%
addConditionHasTelephone0%
addConditionProcessReminderInterval0%
addConditionTimeframe0%
addOrderByAppointmentDate0%
addOrderBySearchRelevance0%
escapeLikePatternForSqlLiteral0%
escapeSqlStringLiteral0%
addConditionCustomTextfield0%
addConditionCustomTextfield20%
checkIfDisplayNumberOnSameDateExists0%
addConditionOlderThanDate0%
updateEntityDisplayNumber0%
redirectToScope0%
readUnconfirmedProcessList0%
isAppointmentSlotCountAllowed0%
isServiceQuantityAllowed0%
readProcessWithSameDayAndDisplayNumber0%
readListByScopeAndDate0%
anonymizeNames0%
readFreeProcessesMinimalDeduplicated0%
resetWriteTransactionAfterDeadlock0%
getEntityMapping0%
isDuplicateKeyException0%
readEntityById0%
getQueryLastDisplayNumber0%
readEntityById0%
readEntityWithoutRootParentResolution0%
addConditionNames0%
addConditionUserId0%
addConditionRoleId0%
readListBySource0%
testSource0%
readCollection0%
readDisplayNumberUpdated0%
removeCache0%
getEntityMapping0%
addConditionSlotId0%
getQuery0%
getParametersMonth0%
getParametersDay0%
addToCalendar0%
addFreeProcessesToCalendar0%
getFreeProcesses0%
isSameAvailability0%
toReducedBySlots0%
postProcess0%
writeByScope0%
readLastChangedTimeByScope0%
updateSlotProcessMapping0%
deleteSlotProcessOnSlot0%
deleteSlotProcessOnProcess0%
addConditionSearch0%
addConditionDepartmentIdsAndSearch0%
registerCacheKeyForDepartments0%
deleteCacheKey0%
invalidateDepartmentCaches0%
getCacheIndexKey0%
extractDepartmentIdsFromEntity0%
collectDepartmentIdsForInvalidation0%
collectUseraccountIdentifiers0%
updateEntityAuthkey0%
resolveCronLogLevel0%
removeCache6%
writeMails8%
writeMails8%
removeCache11%
getNewDisplayNumber13%
setCachedResult14%
removeCache16%
removeCache25%
buildDateConditions28%
getUseraccountCacheVersion28%
testLoginHash28%
__construct33%
__construct33%
getFilteredEntityByScope33%
getFilteredEntityByDepartment33%
getFilteredEntityByOrganisation33%
getScopeId33%
getCachedResult37%
validateClientData40%
getProcessListOverview40%
addProcessingTimeData40%
getAppointmentAt40%
resolveRootParentId40%
buildAvailabilityMap40%
resolveChangedBy44%
buildQuotedCitizenNameSearchParts45%
addConditionScopeIds45%
write50%
hashStringValue50%
log50%
readEntity50%
readCollectionByDepartmentIds50%
readListByRoleAndDepartmentIds50%
writeVerboseCronLog50%
readListRole51%
readResponse53%
readList58%
readResponse58%
readDepartmentProviders58%
writeCalculatedSlots60%
resolveMetricsQuery60%
writeDayOffListUntilYear60%
__construct60%
checkDepartments60%
attachRootParentIds60%
readByButtonList60%
executeSearchQuery60%
addConditionMail62%
shouldUpdateDisplayNumber62%
readResponse62%
readListStatement63%
normalizeDepartmentIds64%
executeSearchByDepartmentIdsQuery65%
asDateString66%
asTimeString66%
formatTimeValue66%
withoutUnrelatedScopes66%
parseCsv66%
dayToArray66%
__construct66%
log66%
escapeFulltextBooleanTerm66%
escapeFulltextQuotedTerm66%
testEmailRequired66%
testEmailRequired66%
pickRoundRobinIndex66%
addConditionScopeIds66%
readQueueListWithWaitingTime66%
invalidateAllCaches66%
testProcessData66%
whereIn66%
buildFieldValueConditions69%
resolveSlotsDateRange69%
writeByCallback70%
readResponse70%
buildUnquotedSearchParts70%
writeEntityReserved70%
writeUpdatedEntity70%
readFullyResolvedProcess71%
readResolvedEntity72%
resolveDateRange73%
readResponse73%
readImage73%
addConditionNames75%
buildDaysListFromCalendarDays75%
extractRequestedRoleNames75%
findFirstBookableDateBefore76%
resolveResponseDaysRange76%
keepRequestsNotAlreadyOnScope76%
writeOptimizedSlotTables76%
readResponse77%
addValuesNewArchive77%
createHistoryKey77%
writeByAvailability77%
readByProviderId78%
getHistoryAppointmentFrom78%
addProvidersFromQuery78%
parseSearchTerms78%
parseSearchTerms78%
attachAllRequestsInOneQuery78%
readResponse79%
addConditionScopeIds80%
writeDeleteProcess80%
testWorkstationAccessRights80%
updateProcessStatus80%
readAssignedWorkstationIdForUpdate80%
addHistoryAppointmentFromCondition80%
readResolvedReferences80%
readFromQuery81%
extractProcessInfo81%
mergeMailTemplatesWithCustomizations81%
validateScopeConsistency82%
readByScopeId82%
readResponse82%
readResponse82%
assertTechAdminAccess83%
readCalculatedQueueListFromScope83%
readMaxUpdatedGlobal83%
readChangedProcessIdsSince83%
getArchivedServices83%
buildServiceNames83%
readLastChangedTime83%
updateEntityWithSlots84%
writeHistoryEntry84%
addValuesWaitingTimeData84%
readListBySource84%
readResponse84%
assertAnythingLeft85%
testProcessData85%
readListByScopeAndDepartment85%
addConditionWorkstationAccess85%
readResponse86%
hasScopeRelevantChanges86%
readEntity86%
addRequestsFromQuery86%
backtraceLogEntry87%
readRange87%
addJoin87%
replaceUserRoles87%
buildHistoryNameCondition87%
startProcessing88%
__construct88%
validateProcessCurrentDate88%
writeEntity88%
groupAppointmentsByDateAndOffice88%
processArchiveRows88%
readMaxUpdated88%
readRangeUpdated88%
readArchivedEntity88%
readLastChangedTimeByAvailability88%
getLastGeneratedSlotDate88%
readDepartmentIdsForLoginName88%
readAssignedDepartmentListsForAll88%

Project Risks

Method CRAP
calculateStatus506
isServiceQuantityAllowed156
initializeLogger132
__invoke110
invalidateDepartmentCaches90
addProcessingTimeData87
removeCache74
testWorkstationAssigend72
removeCache64
readCollectionByDepartmentIds58
updateEntity56
readResponse56
readEntityById56
registerCacheKeyForDepartments56
readListByRoleAndDepartmentIds43
isQueuedProcess42
isCalledProcess42
isPendingProcess42
isAppointmentSlotCountAllowed42
readEntityById42
extractDepartmentIdsFromEntity42
readList38
buildAvailabilityMap30
readResponse30
parseDateParam30
isPreconfirmedProcess30
isConfirmedProcess30
isProcessingProcess30
isMissedProcess30
isParkedProcess30
addFreeProcessesToCalendar30
collectUseraccountIdentifiers30
readListRole28
removeCache26
readEntity22
checkDepartments21
writeByAvailability20
isReservedProcess20
writeReminder20
readDepartment20
testProcessData20
writeMail20
testProcessAccess20
readValidProcess20
addOrderBySearchRelevance20
resetWriteTransactionAfterDeadlock20
addToCalendar20
toReducedBySlots20
addValuesWaitingTimeData19
validateClientData17
resolveRootParentId17
attachRootParentIds16
writeMails16
removeCache15
readResponse15
getCachedResult14
readResponse14
executeSearchByDepartmentIdsQuery14
executeSearchQuery13
readByProviderId12
readByButtonList12
initializeRequestLimits12
readQueueListByStatus12
startAnonymizing12
testTicketprinterIsProtectedEnabled12
readEntities12
getSpecifiedValue12
validateProcessLimits12
setWithProcessClient12
testEventLogEntries12
validateProcessLimits12
testProcessAccess12
testEmailRequired12
getProcessListOverview12
testProcessData12
readFreeProcessesMinimalDeduplicated12
writeByScope12
updateSlotProcessMapping12
deleteSlotProcessOnProcess12
deleteCacheKey12
resolveSlotsDateRange11
findFirstBookableDateBefore11
addValuesNewArchive11
readResponse10
extractProcessInfo10
__construct10
writeMails9
getUseraccountCacheVersion9
resolveChangedBy9
getNewDisplayNumber8
setCachedResult8
readByScopeId8
addRequestsFromQuery8
hashStringValue8
readResolvedEntity8
extractRequestedRoleNames7
readListStatement7
attachAllRequestsInOneQuery7
formatTimeValue7
readFromQuery7
readResponse7
assertAnythingLeft7
readEntity7
validateProcessCurrentDate7
groupAppointmentsByDateAndOffice7
processArchiveRows7
buildFieldValueConditions7
writeCalculatedSlots6
writeDayOffListUntilYear6
buildDaysListFromCalendarDays6
keepRequestsNotAlreadyOnScope6
parseSearchTerms6
parseSearchTerms6
shouldUpdateDisplayNumber6
testLoginHash6
mergeMailTemplatesWithCustomizations6
validateScopeConsistency6
readResponse6
normalizeDepartmentIds6
updateEntityWithSlots6
readListBySource6
write6
deleteEntity6
createOne6
__construct6
log6
log6
__construct6
log6
startProcessing6
getFilteredEntityByUseraccountSuperuser6
__construct6
log6
startProcessing6
getTemplate6
isDeletedProcess6
getProcessListOverview6
clearLogsOlderThan6
addWhereIn6
readProperty6
fetchData6
readResponse6
readResponse6
readResponse6
addConditionCustomTextfield6
addConditionCustomTextfield26
updateEntityDisplayNumber6
isDuplicateKeyException6
readEntityWithoutRootParentResolution6
addConditionNames6
readListBySource6
testSource6
readCollection6
removeCache6
readLastChangedTimeByScope6
deleteSlotProcessOnSlot6
addConditionSearch6
addConditionDepartmentIdsAndSearch6
collectDepartmentIdsForInvalidation6
updateEntityAuthkey6
resolveCronLogLevel6
escapeFulltextBooleanTerm5
escapeFulltextQuotedTerm5
getFilteredEntityByScope5
getFilteredEntityByDepartment5
getFilteredEntityByOrganisation5
buildUnquotedSearchParts5
writeUpdatedEntity5
resolveDateRange5
readImage5
readResponse5
addProvidersFromQuery5
addConditionScopeIds5
testWorkstationAccessRights5
readResponse5
readDepartmentProviders5
testProcessData5
readListByScopeAndDepartment5
hasScopeRelevantChanges5
backtraceLogEntry5
__construct5
getProcessListOverview4
withoutUnrelatedScopes4
buildQuotedCitizenNameSearchParts4
addConditionScopeIds4
writeByCallback4
readResponse4
writeEntityReserved4
readFullyResolvedProcess4
resolveResponseDaysRange4
writeOptimizedSlotTables4
createHistoryKey4
getHistoryAppointmentFrom4
readResolvedReferences4
assertTechAdminAccess4
buildServiceNames4
writeHistoryEntry4
readResponse4
readDepartmentIdsForLoginName4
readAssignedDepartmentListsForAll4
resolveMetricsQuery3
buildDateConditions3
asDateString3
asTimeString3
__construct3
testEmailRequired3
testEmailRequired3
readQueueListWithWaitingTime3
testProcessData3
__construct3
__construct3
getScopeId3
writeDeleteProcess3
readAssignedWorkstationIdForUpdate3
readMaxUpdatedGlobal3
getArchivedServices3
addConditionWorkstationAccess3
buildHistoryNameCondition3
readResponse3
replaceUserRoles3
startProcessing3
readMaxUpdated3
getAppointmentAt2
log2
writeVerboseCronLog2
addConditionMail2
parseCsv2
dayToArray2
log2
pickRoundRobinIndex2
addConditionScopeIds2
invalidateAllCaches2
whereIn2
readResponse2
addConditionNames2
updateProcessStatus2
addHistoryAppointmentFromCondition2
readCalculatedQueueListFromScope2
readChangedProcessIdsSince2
readLastChangedTime2
writeEntity2
readRange2
readRangeUpdated2
readArchivedEntity2
addJoin2
readLastChangedTimeByAvailability2
getLastGeneratedSlotDate2