Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
BO\Zmscitizenapi\Controllers\Availability\AvailableAppointmentsListByOfficeController0%
BO\Zmscitizenapi\Controllers\Availability\AvailableDaysListByOfficeController0%
BO\Zmscitizenapi\Exceptions\UnauthorizedException0%
BO\Zmscitizenapi\Middleware\MaintenanceMiddleware0%
BO\Zmscitizenapi\Models\AvailableAppointmentsByOffice0%
BO\Zmscitizenapi\Models\AvailableDaysByOffice0%
BO\Zmscitizenapi\Services\Core\ProcessContextExtractor0%
BO\Zmscitizenapi\Utils\ErrorHandler0%
BO\Zmscitizenapi\Services\Captcha\TokenValidationService9%
BO\Zmscitizenapi\Controllers\Office\OfficesServicesRelationsController41%
BO\Zmscitizenapi\Controllers\Captcha\CaptchaChallengeController50%
BO\Zmscitizenapi\Controllers\Captcha\CaptchaController50%
BO\Zmscitizenapi\Controllers\Captcha\CaptchaVerifyController57%
BO\Zmscitizenapi\Models\Collections\OfficeList61%
BO\Zmscitizenapi\Models\Collections\OfficeServiceRelationList61%
BO\Zmscitizenapi\Models\Collections\ServiceList61%
BO\Zmscitizenapi\Models\Collections\ThinnedScopeList64%
BO\Zmscitizenapi\Utils\DateTimeFormatHelper66%
BO\Zmscitizenapi\Controllers\Scope\ScopesListController75%
BO\Zmscitizenapi\Models\AvailableAppointments75%
BO\Zmscitizenapi\Models\AvailableDays75%
BO\Zmscitizenapi\Models\AuthenticatedUser75%
BO\Zmscitizenapi\Controllers\Office\OfficesListController77%
BO\Zmscitizenapi\Controllers\Service\ServicesListController77%
BO\Zmscitizenapi\BaseController80%
BO\Zmscitizenapi\Middleware\RequestSizeLimitMiddleware80%
BO\Zmscitizenapi\Middleware\IpFilterMiddleware81%
BO\Zmscitizenapi\Services\Core\ExceptionService82%
BO\Zmscitizenapi\Services\Core\ZmsApiClientService82%
BO\Zmscitizenapi\Models\Collections\OfficeServiceAndRelationList83%
BO\Zmscitizenapi\Services\Availability\AvailableDaysListService84%
BO\Zmscitizenapi\Services\Captcha\CaptchaService87%
BO\Zmscitizenapi\Controllers\Scope\ScopeByIdController87%
BO\Zmscitizenapi\Models\OfficeServiceRelation87%
BO\Zmscitizenapi\Utils\ErrorMessages87%
BO\Zmscitizenapi\Controllers\Appointment\AppointmentByIdController88%
BO\Zmscitizenapi\Controllers\Appointment\AppointmentUpdateController88%
BO\Zmscitizenapi\Controllers\Availability\AvailableAppointmentsListController88%
BO\Zmscitizenapi\Controllers\Availability\AvailableDaysListController88%
BO\Zmscitizenapi\Controllers\Office\OfficeListByServiceController88%
BO\Zmscitizenapi\Controllers\Service\ServiceListByOfficeController88%
BO\Zmscitizenapi\Services\Appointment\AppointmentPreconfirmService89%

Project Risks

Class CRAP
BO\Zmscitizenapi\Services\Core\ProcessContextExtractor420
BO\Zmscitizenapi\Services\Core\ZmsApiClientService163
BO\Zmscitizenapi\Utils\ErrorHandler110
BO\Zmscitizenapi\Services\Core\ExceptionService46
BO\Zmscitizenapi\Services\Captcha\TokenValidationService43
BO\Zmscitizenapi\Middleware\IpFilterMiddleware33
BO\Zmscitizenapi\Controllers\Availability\AvailableAppointmentsListByOfficeController30
BO\Zmscitizenapi\Controllers\Availability\AvailableDaysListByOfficeController30
BO\Zmscitizenapi\Models\AvailableAppointmentsByOffice30
BO\Zmscitizenapi\Models\AvailableDaysByOffice30
BO\Zmscitizenapi\Models\AuthenticatedUser27
BO\Zmscitizenapi\Services\Captcha\CaptchaService21
BO\Zmscitizenapi\Services\Appointment\AppointmentPreconfirmService19
BO\Zmscitizenapi\Services\Availability\AvailableDaysListService14
BO\Zmscitizenapi\BaseController13
BO\Zmscitizenapi\Models\Collections\ThinnedScopeList12
BO\Zmscitizenapi\Models\Collections\OfficeList11
BO\Zmscitizenapi\Models\Collections\OfficeServiceRelationList11
BO\Zmscitizenapi\Models\Collections\ServiceList11
BO\Zmscitizenapi\Controllers\Office\OfficesServicesRelationsController10
BO\Zmscitizenapi\Controllers\Captcha\CaptchaChallengeController8
BO\Zmscitizenapi\Controllers\Captcha\CaptchaController8
BO\Zmscitizenapi\Utils\ErrorMessages8
BO\Zmscitizenapi\Utils\DateTimeFormatHelper7
BO\Zmscitizenapi\Controllers\Captcha\CaptchaVerifyController6
BO\Zmscitizenapi\Middleware\MaintenanceMiddleware6
BO\Zmscitizenapi\Controllers\Scope\ScopesListController5
BO\Zmscitizenapi\Models\AvailableAppointments5
BO\Zmscitizenapi\Models\AvailableDays5
BO\Zmscitizenapi\Controllers\Office\OfficesListController5
BO\Zmscitizenapi\Controllers\Service\ServicesListController5
BO\Zmscitizenapi\Middleware\RequestSizeLimitMiddleware5
BO\Zmscitizenapi\Models\Collections\OfficeServiceAndRelationList5
BO\Zmscitizenapi\Controllers\Scope\ScopeByIdController5
BO\Zmscitizenapi\Models\OfficeServiceRelation5
BO\Zmscitizenapi\Controllers\Appointment\AppointmentByIdController5
BO\Zmscitizenapi\Controllers\Appointment\AppointmentUpdateController5
BO\Zmscitizenapi\Controllers\Availability\AvailableAppointmentsListController5
BO\Zmscitizenapi\Controllers\Availability\AvailableDaysListController5
BO\Zmscitizenapi\Controllers\Office\OfficeListByServiceController5
BO\Zmscitizenapi\Controllers\Service\ServiceListByOfficeController5

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
getExceptionContext0%
readResponse0%
__construct0%
readResponse0%
__construct0%
readResponse0%
__construct0%
process0%
isLocked0%
getEmail0%
getGivenName0%
getFamilyName0%
toArray0%
jsonSerialize0%
jsonSerialize0%
__construct0%
ensureValid0%
toArray0%
jsonSerialize0%
jsonSerialize0%
__construct0%
ensureValid0%
toArray0%
jsonSerialize0%
jsonSerialize0%
jsonSerialize0%
jsonSerialize0%
jsonSerialize0%
jsonSerialize0%
jsonSerialize0%
jsonSerialize0%
jsonSerialize0%
getCaptchaToken0%
setIcsContent0%
getIcsContent0%
getProvider0%
getShortName0%
getCaptchaActivatedRequired0%
getInfoForAppointment0%
getInfoForAllAppointments0%
getHint0%
getAvailableDaysListByOffice0%
validateCaptchaToken0%
extractProcessContext0%
buildProcessContextFromArray0%
addIntFieldIfPresent0%
extractScopeId0%
getMergedMailTemplates0%
getProcessByIdAuthenticated0%
__invoke0%
getStatusCode0%
formatErrorPayload0%
getErrorMessage0%
logError0%
validateCaptcha21%
readResponse33%
getProcessById33%
readResponse45%
readResponse45%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
ensureValid50%
getIcsContent50%
getInternalDateFromISO50%
getInternalDateFromTimestamp50%
processFreeSlots51%
readResponse53%
__construct57%
__construct57%
__construct57%
__construct57%
createRequests59%
validateCacheDirectory60%
resolveAllowDisabledServicesMix66%
validateGetProcessFreeSlots66%
process70%
readResponse71%
readResponse71%
readResponse71%
saveProcessUpdate71%
getAvailableAppointmentsListByOffice75%
updateClientData75%
preconfirmAppointment75%
confirmAppointment75%
cancelAppointment75%
sendPreconfirmationEmail75%
sendConfirmationEmail75%
sendCancellationEmail75%
getHighestStatusCode75%
process76%
createJsonResponse76%
getScopesByProviderId77%
isIpInRange78%
cancelProcess80%
confirmProcess80%
preconfirmProcess80%
getProcessesByExternalUserId80%
reserveTimeslot80%
extractActivationDuration81%
processToThinnedProcess81%
handleException82%
process83%
createChallenge83%
processPreconfirm84%
verifySolution84%
validateServiceLocationCombination85%
readResponse85%
readResponse85%
readResponse85%
readResponse85%
readResponse85%
extractReservationDuration85%
validateServerPostRequest85%
processConfirm86%
mapScopeForProvider86%
readResponse87%
readResponse87%
findMatchingProcess88%
validateGetBookableFreeDays88%
getFreeAppointments89%

Project Risks

Method CRAP
getMergedMailTemplates156
extractProcessContext72
processFreeSlots65
handleException44
processToThinnedProcess42
validateCaptchaToken42
validateCaptcha30
extractScopeId30
readResponse20
readResponse20
buildProcessContextFromArray20
validateGetBookableFreeDays14
isIpInRange12
getAvailableDaysListByOffice12
addIntFieldIfPresent12
getProcessByIdAuthenticated12
getErrorMessage12
verifySolution11
validateServiceLocationCombination10
mapScopeForProvider10
readResponse8
findMatchingProcess8
createJsonResponse7
extractActivationDuration7
process7
processPreconfirm7
processConfirm7
getFreeAppointments7
validateCacheDirectory6
readResponse6
readResponse6
getHighestStatusCode6
process6
ensureValid6
ensureValid6
__invoke6
getStatusCode6
formatErrorPayload6
getProcessById5
process5
saveProcessUpdate5
readResponse5
__construct5
__construct5
__construct5
__construct5
getProcessesByExternalUserId5
createChallenge5
createRequests5
extractReservationDuration5
readResponse4
readResponse4
readResponse4
process4
getScopesByProviderId4
getIcsContent4
getInternalDateFromISO4
readResponse4
readResponse4
readResponse4
readResponse4
readResponse4
validateServerPostRequest4
readResponse4
readResponse4
resolveAllowDisabledServicesMix3
validateGetProcessFreeSlots3
getAvailableAppointmentsListByOffice3
cancelProcess3
confirmProcess3
preconfirmProcess3
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
ensureValid2
getInternalDateFromTimestamp2
updateClientData2
preconfirmAppointment2
confirmAppointment2
cancelAppointment2
sendPreconfirmationEmail2
sendConfirmationEmail2
sendCancellationEmail2
reserveTimeslot2