Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
BO\Zmsbackend\Availability\Api\AvailabilityClosureToggle0%
BO\Zmsbackend\Helper\AnonymizeStatisticDataByCron0%
BO\Zmsbackend\Helper\CalculateDailyWaitingStatisticByCron0%
BO\Zmsbackend\Helper\CleanProcessArchivedToday0%
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\SendMailReminder47%
BO\Zmsbackend\Availability\Service\Closure47%
BO\Zmsbackend\Mail\Api\MailDelete53%
BO\Zmsbackend\Mail\Repository\Mailtemplate55%
BO\Zmsbackend\Useraccount\Service\Useraccount60%
BO\Zmsbackend\Calldisplay\Api\CalldisplayQueue61%
BO\Zmsbackend\Availability\Api\AvailabilityDelete62%
BO\Zmsbackend\Workstation\Api\WorkstationProcessRemove62%
BO\Zmsbackend\Mail\Api\MailList70%
BO\Zmsbackend\Status\Api\StatusGet71%
BO\Zmsbackend\Helper\ExchangeAccessFilter72%
BO\Zmsbackend\Process\Api\ProcessDelete72%
BO\Zmsbackend\Process\Api\ProcessConfirm73%
BO\Zmsbackend\Mail\Repository\MailQueue73%
BO\Zmsbackend\Request\Service\Request75%
BO\Zmsbackend\Helper\User76%
BO\Zmsbackend\Slot\Repository\Slot76%
BO\Zmsbackend\Permission\Repository\Permission76%
BO\Zmsbackend\Slot\Service\Slot77%
BO\Zmsbackend\Mail\Service\Mail78%
BO\Zmsbackend\Log\Service\Log78%
BO\Zmsbackend\Process\Repository\Process79%
BO\Zmsbackend\Process\Api\ProcessListByClusterAndDate79%
BO\Zmsbackend\Availability\Repository\Closure80%
BO\Zmsbackend\Calldisplay\Service\Calldisplay81%
BO\Zmsbackend\Process\Api\ProcessConfirmationMail81%
BO\Zmsbackend\Provider\Service\Provider81%
BO\Zmsbackend\Availability\Api\AvailabilitySlotsUpdate82%
BO\Zmsbackend\Process\Api\ProcessListByScopeAndDate82%
BO\Zmsbackend\Calendar\Api\OverallCalendarRead82%
BO\Zmsbackend\Process\Service\Process83%
BO\Zmsbackend\Useraccount\Api\UseraccountGet84%
BO\Zmsbackend\Workstation\Api\WorkstationProcess84%
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\Process\Service\ProcessStatusArchived88%
BO\Zmsbackend\Source\Service\Source88%
BO\Zmsbackend\Calendar\Service\CalendarAvailability88%
BO\Zmsbackend\Useraccount\Repository\Useraccount89%
BO\Zmsbackend\Helper\TicketprinterAccess89%
BO\Zmsbackend\Ticketprinter\Service\Ticketprinter89%

Project Risks

Class CRAP
BO\Zmsbackend\Useraccount\Service\Useraccount3698
BO\Zmsbackend\Helper\CalculateDailyWaitingStatisticByCron1560
BO\Zmsbackend\Helper\ProcessStatus892
BO\Zmsbackend\Process\Repository\Process586
BO\Zmsbackend\Mail\Service\MailTemplates549
BO\Zmsbackend\Process\Service\Process321
BO\Zmsbackend\Application294
BO\Zmsbackend\Request\Service\Request294
BO\Zmsbackend\Slot\Repository\SlotList286
BO\Zmsbackend\Process\Api\ProcessPreconfirmationMail210
BO\Zmsbackend\Slot\Service\Slot198
BO\Zmsbackend\Process\Api\ProcessListSummaryMail182
BO\Zmsbackend\Process\Api\ProcessRedirect156
BO\Zmsbackend\Log\Service\Log155
BO\Zmsbackend\Helper\ErrorHandler132
BO\Zmsbackend\Calendar\Service\CalendarAvailability122
BO\Zmsbackend\Helper\User117
BO\Zmsbackend\Helper\SendMailReminder92
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\Mail\Service\Mail48
BO\Zmsbackend\Helper\CleanProcessArchivedToday42
BO\Zmsbackend\Helper\EventLogCleanUpByCron42
BO\Zmsbackend\Helper\LogCleanUp42
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\Process\Service\ProcessStatusArchived27
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\ProcessConfirm16
BO\Zmsbackend\Calldisplay\Api\CalldisplayQueue15
BO\Zmsbackend\Process\Api\ProcessConfirmationMail15
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\Role\Repository\Role10
BO\Zmsbackend\Helper\MailTemplateProvider8
BO\Zmsbackend\Mail\Repository\MailQueue6
BO\Zmsbackend\Process\Api\ProcessListByScopeAndDate6
BO\Zmsbackend\Slot\Repository\Slot5
BO\Zmsbackend\Permission\Repository\Permission5
BO\Zmsbackend\Workstation\Api\WorkstationLogin5
BO\Zmsbackend\Availability\Api\AvailabilityDelete4
BO\Zmsbackend\Mail\Api\MailList4
BO\Zmsbackend\Useraccount\Api\UseraccountGet4
BO\Zmsbackend\Useraccount\Api\UseraccountListByRoleAndDepartments3
BO\Zmsbackend\Status\Api\StatusGet2

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
initializeLogger0%
initializeRequestLimits0%
getLoggerConfig0%
getRequestLimits0%
initialize0%
readResponse0%
addConditionDate0%
addConditionId0%
readByScopeIdAndDate0%
deleteEntity0%
createOne0%
readEntity0%
readQueueListFromScopeAndStatus0%
readQueueListByStatus0%
__construct0%
startAnonymizing0%
run0%
fetchBuergerData0%
processBuergerRows0%
determineValidScopeId0%
determineHourAndType0%
initializeStatsIfNeeded0%
saveStatistics0%
insertStatisticsRow0%
updateStatisticsValues0%
addHourUpdateColumns0%
extractScopeFromAnmerkung0%
timeToMinutes0%
hourSuffixForStatistic0%
__construct0%
log0%
startProcessing0%
__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%
testProcessData0%
getProcessListOverview0%
readResponse0%
testProcessData0%
testProcessAccess0%
readValidProcess0%
addConditionDate0%
addConditionDisplayNumber0%
calculateStatus0%
addConditionHasTelephone0%
addConditionProcessReminderInterval0%
addConditionTimeframe0%
addConditionCustomTextfield0%
addConditionCustomTextfield20%
addConditionServiceNameSearch0%
checkIfDisplayNumberOnSameDateExists0%
addConditionOlderThanDate0%
updateEntityDisplayNumber0%
redirectToScope0%
readUnconfirmedProcessList0%
isAppointmentSlotCountAllowed0%
isServiceQuantityAllowed0%
readProcessWithSameDayAndDisplayNumber0%
readListByScopeAndDate0%
deleteAllToday0%
anonymizeNames0%
readFreeProcessesMinimalDeduplicated0%
resetWriteTransactionAfterDeadlock0%
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%
getFilteredEntityByScope33%
getFilteredEntityByDepartment33%
getFilteredEntityByOrganisation33%
addProcessingTimeData36%
addValuesWayTimeData37%
getCachedResult37%
buildAvailabilityMap38%
validateClientData40%
getProcessListOverview40%
resolveRootParentId40%
resolveSlotsDateRange42%
buildQuotedCitizenNameSearchParts45%
addConditionScopeIds45%
hashStringValue50%
log50%
readEntity50%
readCollectionByDepartmentIds50%
readListByRoleAndDepartmentIds50%
writeVerboseCronLog50%
readListRole51%
readResponse53%
readList58%
readDepartmentProviders58%
writeCalculatedSlots60%
resolveMetricsQuery60%
writeDayOffListUntilYear60%
__construct60%
checkDepartments60%
attachRootParentIds60%
readByButtonList60%
executeSearchQuery60%
setUpdatedMetaData62%
readResponse62%
addConditionMail62%
shouldUpdateDisplayNumber62%
readResponse62%
readListStatement63%
normalizeDepartmentIds64%
executeSearchByDepartmentIdsQuery65%
withoutUnrelatedScopes66%
parseCsv66%
dayToArray66%
__construct66%
log66%
escapeFulltextBooleanTerm66%
escapeFulltextQuotedTerm66%
pickRoundRobinIndex66%
addConditionScopeIds66%
readQueueListWithWaitingTime66%
invalidateAllCaches66%
testProcessData66%
whereIn66%
buildFieldValueConditions69%
writeByCallback70%
readResponse70%
buildUnquotedSearchParts70%
writeEntityReserved70%
writeUpdatedEntity70%
readResponse71%
readResolvedEntity72%
readImage73%
addConditionNames75%
buildDaysListFromCalendarDays75%
extractRequestedRoleNames75%
findFirstBookableDateBefore76%
resolveResponseDaysRange76%
keepRequestsNotAlreadyOnScope76%
writeOptimizedSlotTables76%
readResponse77%
addValuesNewArchive77%
writeByAvailability77%
readByProviderId78%
addProvidersFromQuery78%
parseSearchTerms78%
parseSearchTerms78%
attachAllRequestsInOneQuery78%
readResponse79%
addConditionScopeIds80%
writeDeleteProcess80%
testWorkstationAccessRights80%
updateProcessStatus80%
readAssignedWorkstationIdForUpdate80%
readFromQuery81%
extractProcessInfo81%
mergeMailTemplatesWithCustomizations81%
validateScopeConsistency82%
readByScopeId82%
readResponse82%
readResponse82%
readCalculatedQueueListFromScope83%
readMaxUpdatedGlobal83%
readChangedProcessIdsSince83%
writeMail83%
getArchivedServices83%
readLastChangedTime83%
updateEntityWithSlots84%
addValuesWaitingTimeData84%
readListBySource84%
readResponse84%
assertAnythingLeft85%
testProcessData85%
readListByScopeAndDepartment85%
addConditionWorkstationAccess85%
readResponse86%
hasScopeRelevantChanges86%
readEntity86%
addRequestsFromQuery86%
backtraceLogEntry87%
readRange87%
addJoin87%
replaceUserRoles87%
__construct88%
writeEntity88%
groupAppointmentsByDateAndOffice88%
readMaxUpdated88%
readRangeUpdated88%
readArchivedEntity88%
readLastChangedTimeByAvailability88%
getLastGeneratedSlotDate88%
readDepartmentIdsForLoginName88%
readAssignedDepartmentListsForAll88%
validateProcessCurrentDate88%

Project Risks

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