Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
GrowthExperiments\NewcomerTasks\AbstractSubmissionHandler0%
GrowthExperiments\NewcomerTasks\TaskSetListener0%
GrowthExperiments\NewcomerTasks\AddLink\SubpageLinkRecommendationProvider0%
GrowthExperiments\NewcomerTasks\AddSectionImage\AddSectionImageLogFormatter0%
GrowthExperiments\NewcomerTasks\CachedSuggestionsInfo0%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\StaticConfigurationLoader0%
GrowthExperiments\NewcomerTasks\AbstractTaskSetFilter0%
GrowthExperiments\NewcomerTasks\FauxSearchResultWithScore0%
GrowthExperiments\NewcomerTasks\NewcomerTasksChangeTagsManager0%
GrowthExperiments\NewcomerTasks\NewcomerTasksLogFactory0%
GrowthExperiments\NewcomerTasks\SubpageRecommendationProvider0%
GrowthExperiments\NewcomerTasks\SuggestionsInfo0%
GrowthExperiments\NewcomerTasks\TaskSuggester\QualityGateDecorator0%
GrowthExperiments\NewcomerTasks\AddLink\ServiceLinkRecommendationProvider0%
GrowthExperiments\NewcomerTasks\TaskSuggester\UnderlinkedFunctionScoreBuilder0%
GrowthExperiments\NewcomerTasks\TaskType\ImageRecommendationBaseTaskType0%
GrowthExperiments\NewcomerTasks\TaskType\ImageRecommendationBaseTaskTypeHandler0%
GrowthExperiments\NewcomerTasks\TaskType\ImageRecommendationTaskTypeHandler0%
GrowthExperiments\NewcomerTasks\TaskType\NullSubmissionHandler0%
GrowthExperiments\NewcomerTasks\TaskType\NullTaskTypeHandler0%
GrowthExperiments\NewcomerTasks\TaskType\SectionImageRecommendationTaskType0%
GrowthExperiments\NewcomerTasks\TaskType\SectionImageRecommendationTaskTypeHandler0%
GrowthExperiments\NewcomerTasks\TaskType\Util0%
GrowthExperiments\NewcomerTasks\TemplateBasedTaskSubmissionHandler0%
GrowthExperiments\NewcomerTasks\AddLink\StaticLinkRecommendationProvider0%
GrowthExperiments\NewcomerTasks\Topic\RawOresTopic0%
GrowthExperiments\NewcomerTasks\AddLink\LinkSubmissionRecorder0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendation0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationUpdater0%
GrowthExperiments\NewcomerTasks\AddImage\EventBus\EventGateImageSuggestionFeedbackUpdater0%
GrowthExperiments\NewcomerTasks\AddImage\CacheBackedImageRecommendationProvider0%
GrowthExperiments\NewcomerTasks\AddImage\StaticImageRecommendationMetadataProvider0%
GrowthExperiments\NewcomerTasks\AddImage\SubpageImageRecommendationProvider0%
GrowthExperiments\NewcomerTasks\AddLink\DbBackedLinkRecommendationProvider0%
GrowthExperiments\NewcomerTasks\AddLink\AddLinkSubmissionHandler0%
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationMetadataService0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationLink0%
GrowthExperiments\NewcomerTasks\AddImage\AddImageLogFormatter0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationHelper0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationMetadata0%
GrowthExperiments\NewcomerTasks\TaskSuggester\NewcomerTasksCacheRefreshJob11%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\PageConfigurationLoader16%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationStore17%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\AbstractDataConfigurationLoader18%
GrowthExperiments\NewcomerTasks\TaskType\LinkRecommendationTaskTypeHandler28%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\CommunityConfigurationLoader35%
GrowthExperiments\NewcomerTasks\NewcomerTasksUserOptionsLookup37%
GrowthExperiments\NewcomerTasks\AddImage\AddImageSubmissionHandler41%
GrowthExperiments\NewcomerTasks\TaskType\TemplateBasedTaskTypeHandler48%
GrowthExperiments\NewcomerTasks\TaskType\TaskType48%
GrowthExperiments\NewcomerTasks\AddImage\MvpImageRecommendationApiHandler50%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\ErrorForwardingConfigurationLoader50%
GrowthExperiments\NewcomerTasks\Task\TaskSet50%
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendation55%
GrowthExperiments\NewcomerTasks\AddImage\ProductionImageRecommendationApiHandler57%
GrowthExperiments\NewcomerTasks\TaskSuggester\LocalSearchTaskSuggester57%
GrowthExperiments\NewcomerTasks\TaskType\TaskTypeHandler58%
GrowthExperiments\NewcomerTasks\CampaignConfig62%
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationImage63%
GrowthExperiments\NewcomerTasks\AddImage\ActionApiImageRecommendationApiHandler63%
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationData64%
GrowthExperiments\NewcomerTasks\TaskSuggester\StaticTaskSuggester66%
GrowthExperiments\NewcomerTasks\TaskSuggester\ErrorForwardingTaskSuggester66%
GrowthExperiments\NewcomerTasks\TaskType\LinkRecommendationTaskType68%
GrowthExperiments\NewcomerTasks\ImageRecommendationFilter70%
GrowthExperiments\NewcomerTasks\Task\TaskSetFilters76%
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationDataValidator76%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\ConfigurationValidator77%
GrowthExperiments\NewcomerTasks\TaskType\TaskTypeHandlerRegistry78%
GrowthExperiments\NewcomerTasks\TaskSuggester\SearchStrategy\SearchQuery78%
GrowthExperiments\NewcomerTasks\AddImage\ServiceImageRecommendationProvider78%
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationMetadataProvider79%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\TopicDecorator81%
GrowthExperiments\NewcomerTasks\TaskSuggester\SearchTaskSuggester85%
GrowthExperiments\NewcomerTasks\TaskType\NullTaskType85%
GrowthExperiments\NewcomerTasks\TaskSuggester\RemoteSearchTaskSuggester85%
GrowthExperiments\NewcomerTasks\TaskSuggester\DecoratingTaskSuggesterFactory87%
GrowthExperiments\NewcomerTasks\Topic\CampaignTopic88%

Project Risks

Class CRAP
GrowthExperiments\NewcomerTasks\ConfigurationLoader\AbstractDataConfigurationLoader1260
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationUpdater1056
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationStore974
GrowthExperiments\NewcomerTasks\AddLink\AddLinkSubmissionHandler600
GrowthExperiments\NewcomerTasks\AddImage\AddImageSubmissionHandler306
GrowthExperiments\NewcomerTasks\TaskSuggester\QualityGateDecorator306
GrowthExperiments\NewcomerTasks\NewcomerTasksChangeTagsManager306
GrowthExperiments\NewcomerTasks\NewcomerTasksUserOptionsLookup277
GrowthExperiments\NewcomerTasks\SubpageRecommendationProvider132
GrowthExperiments\NewcomerTasks\TaskType\ImageRecommendationBaseTaskTypeHandler132
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationMetadataService132
GrowthExperiments\NewcomerTasks\SuggestionsInfo132
GrowthExperiments\NewcomerTasks\TaskType\TaskTypeHandler131
GrowthExperiments\NewcomerTasks\Task\TaskSet128
GrowthExperiments\NewcomerTasks\TaskType\TemplateBasedTaskTypeHandler110
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendation110
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationHelper110
GrowthExperiments\NewcomerTasks\TaskType\NullTaskTypeHandler110
GrowthExperiments\NewcomerTasks\AddLink\ServiceLinkRecommendationProvider110
GrowthExperiments\NewcomerTasks\TaskType\TaskType109
GrowthExperiments\NewcomerTasks\CampaignConfig87
GrowthExperiments\NewcomerTasks\ConfigurationLoader\PageConfigurationLoader81
GrowthExperiments\NewcomerTasks\ConfigurationLoader\CommunityConfigurationLoader76
GrowthExperiments\NewcomerTasks\AddLink\LinkSubmissionRecorder56
GrowthExperiments\NewcomerTasks\TaskType\LinkRecommendationTaskTypeHandler55
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationMetadataProvider54
GrowthExperiments\NewcomerTasks\AddImage\ProductionImageRecommendationApiHandler51
GrowthExperiments\NewcomerTasks\AddImage\CacheBackedImageRecommendationProvider42
GrowthExperiments\NewcomerTasks\AddImage\SubpageImageRecommendationProvider42
GrowthExperiments\NewcomerTasks\ConfigurationLoader\ConfigurationValidator40
GrowthExperiments\NewcomerTasks\TaskSuggester\SearchTaskSuggester36
GrowthExperiments\NewcomerTasks\AddImage\ServiceImageRecommendationProvider35
GrowthExperiments\NewcomerTasks\AddImage\MvpImageRecommendationApiHandler34
GrowthExperiments\NewcomerTasks\AddImage\EventBus\EventGateImageSuggestionFeedbackUpdater30
GrowthExperiments\NewcomerTasks\TaskType\ImageRecommendationTaskTypeHandler30
GrowthExperiments\NewcomerTasks\CachedSuggestionsInfo30
GrowthExperiments\NewcomerTasks\TaskType\SectionImageRecommendationTaskTypeHandler30
GrowthExperiments\NewcomerTasks\AddImage\ActionApiImageRecommendationApiHandler21
GrowthExperiments\NewcomerTasks\TaskSetListener20
GrowthExperiments\NewcomerTasks\AddLink\DbBackedLinkRecommendationProvider20
GrowthExperiments\NewcomerTasks\TaskType\TaskTypeHandlerRegistry19
GrowthExperiments\NewcomerTasks\TaskSuggester\LocalSearchTaskSuggester17
GrowthExperiments\NewcomerTasks\TaskSuggester\StaticTaskSuggester17
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationDataValidator13
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationData12
GrowthExperiments\NewcomerTasks\AddLink\StaticLinkRecommendationProvider12
GrowthExperiments\NewcomerTasks\ConfigurationLoader\TopicDecorator8
GrowthExperiments\NewcomerTasks\ImageRecommendationFilter8
GrowthExperiments\NewcomerTasks\TaskSuggester\RemoteSearchTaskSuggester7
GrowthExperiments\NewcomerTasks\AddSectionImage\AddSectionImageLogFormatter6
GrowthExperiments\NewcomerTasks\AbstractSubmissionHandler6
GrowthExperiments\NewcomerTasks\AddImage\AddImageLogFormatter6
GrowthExperiments\NewcomerTasks\TaskSuggester\DecoratingTaskSuggesterFactory5
GrowthExperiments\NewcomerTasks\TaskSuggester\ErrorForwardingTaskSuggester4

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
getUserErrorMessage0%
suggest0%
getSectionImageRecommendationTasksDoneByUserForCurrentDay0%
isSectionImageRecommendationDailyTaskLimitExceeded0%
getLinkRecommendationTasksDoneByUserForCurrentDay0%
isLinkRecommendationDailyTaskLimitExceeded0%
getImageRecommendationTasksDoneByUserForCurrentDay0%
isImageRecommendationDailyTaskLimitExceeded0%
filter0%
__construct0%
getDebugUrl0%
run0%
filter0%
suggest0%
filter0%
setLogger0%
filter0%
run0%
setRescoreProfile0%
setDebugUrl0%
getTopicFilters0%
getMinimumCaptionCharacterLength0%
getId0%
__construct0%
toJsonArray0%
getViewData0%
getQualityGateIds0%
getDefaultEditSection0%
shouldOpenInEditMode0%
getMaxTasksPerDay0%
getTemplateTerm0%
getSuggestionFilters0%
__construct0%
append0%
__construct0%
filter0%
setDebugData0%
getExcludedPageIdTerm0%
__construct0%
getTaskTypeFilters0%
getRecommendationProvider0%
convertTaskTypes0%
onMediaWikiServices0%
get0%
__construct0%
createRecommendation0%
shouldUserSeeAllTaskTypes0%
getStringOption0%
filterNonExistentTaskTypes0%
getConversionMap0%
__construct0%
filterTaskTypes0%
getTopicFilterWithoutFallback0%
copyValidAndInvalidTasksToNewTaskSet0%
__construct0%
getQueryBuilder0%
__construct0%
getTags0%
onContentHandlerDefaultModelFor0%
getInfo0%
setTaskTypeFilters0%
randomSort0%
getTopicFiltersMode0%
containsPage0%
getInvalidTasks0%
setQualityGateConfig0%
setQualityGateConfigForTaskType0%
getQualityGateConfig0%
filtersEqual0%
truncate0%
setToken0%
getFilters0%
setDebugData0%
getDebugData0%
offsetUnset0%
offsetSet0%
offsetGet0%
offsetExists0%
count0%
getChangeTags0%
getSubmissionHandler0%
checkExistingTags0%
getViewData0%
getSuggestionFilters0%
getQualityGateIds0%
getSmallTaskCardImageCssClasses0%
getDefaultEditSection0%
shouldOpenInEditMode0%
getExcludedCategoriesTitleValues0%
getExcludedTemplatesTitleValues0%
getTimeEstimate0%
createTaskType0%
getLabel0%
getShortDescription0%
getDescription0%
getName0%
getSubmitDataFormatMessage0%
getSearchTerm0%
createTaskType0%
validateTaskTypeObject0%
getSearchTerm0%
getLearnMoreLink0%
escapeSearchTitleList0%
newFromJsonArray0%
toJsonArray0%
__construct0%
getName0%
getName0%
validate0%
handle0%
getTaskTypeIdByChangeTagName0%
getChangeTags0%
getSubmissionHandler0%
getSearchTerm0%
register0%
getByTaskType0%
has0%
parseExcludedCategories0%
parseExcludedTemplates0%
getTaskTypeIdByChangeTagName0%
newFromJsonArray0%
getSmallTaskCardImageCssClasses0%
validateTaskTypeConfiguration0%
getMaximumLinksPerTask0%
getUnderlinkedWeight0%
getExcludedSections0%
getMaxTasksPerDay0%
getMaximumWordCount0%
getMinimumWordCount0%
getMinimumTimeSinceLastEdit0%
getMaximumLinksToShowPerTask0%
getMinimumLinkScore0%
shouldOpenInEditMode0%
getMinimumLinksPerTask0%
getMinimumTasksPerTopic0%
getSubmitDataFormatMessage0%
getSearchTerm0%
createTaskType0%
getSmallTaskCardImageCssClasses0%
getTaskTypeIdByChangeTagName0%
getUnderlinkedMinLength0%
getDefaultEditSection0%
getSubmissionHandler0%
getNullTaskType0%
createTaskType0%
getChangeTags0%
getSearchTerm0%
validateTaskTypeObject0%
validateTaskTypeConfiguration0%
getId0%
__construct0%
getExtraSearchConditions0%
getQualityGateIds0%
handle0%
validate0%
getSubmitDataFormatMessage0%
getSearchTerm0%
createTaskType0%
getSubmissionHandler0%
getRecommendationProvider0%
getViewData0%
checkUserAccess0%
getTopicsMatchMode0%
apply0%
__construct0%
toArray0%
getMetadata0%
getLinks0%
getRevisionId0%
getPageId0%
getTitle0%
getMetadataFromArray0%
getLinkRecommendation0%
getLinksFromArray0%
get0%
__construct0%
normalizeTargets0%
handle0%
validate0%
__construct0%
__construct0%
deleteLinkRecommendation0%
createRecommendation0%
getLinkIndex0%
toArray0%
getTaskTimestamp0%
getApplicationVersion0%
getFormatVersion0%
__construct0%
__construct0%
toArray0%
getContextAfter0%
configError0%
getContextBefore0%
getScore0%
getWikitextOffset0%
getMatchIndex0%
getLinkTarget0%
getText0%
__construct0%
onMediaWikiServices0%
__construct0%
getByCondition0%
__construct0%
getDatasetId0%
getProjects0%
getSource0%
getFilename0%
jsonSerialize0%
toArray0%
update0%
makeKey0%
getSectionTitle0%
getWithSetCallback0%
get0%
__construct0%
invalidateRecommendation0%
handle0%
getMessageKey0%
getApiRequest0%
getSectionNumber0%
toArray0%
getStaticData0%
getArticleIdFromTitle0%
getFileMetadata0%
getMetadata0%
isValidMediaType0%
hasMinimumWidth0%
setMaxSuggestionsToProcess0%
__construct0%
getRequest0%
getApiRequest0%
jsonSerialize0%
getApiRequest0%
getApiMetadata0%
getFileMetadata0%
getExtendedMetadata0%
__construct0%
getFileMetadata0%
getWikidataSectionIntersectionReason0%
__construct0%
getDatasetChecksums0%
getAllRecommendations0%
setCampaignConfigCallback0%
loadTopics0%
loadTopicsConfig0%
makeTitle0%
loadInfoboxTemplates0%
isDisabled0%
getCampaignTopics0%
parseTopicsFromConfig0%
validateInteger0%
loadTopics0%
enableTaskType0%
disableTaskType0%
__construct0%
getSignupPageTemplateParameters0%
getSignupPageTemplate0%
setMessageLocalizer0%
getDisabledTaskTypes0%
shouldSkipImageRecommendationDailyTaskLimitForUser0%
loadInfoboxTemplates0%
makeKey0%
getKeywords0%
getScore0%
__construct0%
loadInfoboxTemplates0%
getDisabledTaskTypes0%
getDisabledTaskTypes0%
__construct0%
loadTopics0%
loadTaskTypes0%
__construct0%
loadInfoboxTemplates0%
loadTopicsConfig0%
loadTaskTypesConfig0%
makeTitle0%
shouldSkipImageRecommendationDailyTaskLimit0%
parseTaskTypesFromConfig0%
isUserInCampaign0%
__construct0%
getLinkRecommendationTaskType0%
evaluateRecommendation0%
evaluateTitle0%
processCandidate0%
record0%
log0%
titlesToPageIds0%
__construct0%
get0%
__construct0%
__construct0%
get0%
createRecommendation0%
getLinkRecommendationsFromRows0%
getDB0%
hasSubmission0%
getMessageKey0%
__construct0%
getInfo0%
getCampaignPattern0%
recordSubmission0%
getExcludedLinkIds0%
listPageIds0%
filterPageIds0%
failure0%
getChangeTags10%
__construct16%
getIconData28%
validateTitle50%
loadTaskTypesConfig58%
validateTemplate60%
validateCategory60%
getConfigValue66%
runTaskSetListener66%
serialize66%
getDisabledTaskTypes66%
search68%
getSuggestionReason69%
getGroupName75%
loadTaskTypes75%
validate76%
doSuggest80%
getByLinkTarget80%
deleteByLinkTarget80%
validate80%
getSuggestionDataFromApiResponse82%
suggest82%
get83%
search83%
getCampaignIndexFromCampaignTerm83%
validateTaskTypeConfiguration84%
getLanguagesListParam85%
getWikipediaReasonOtherProject85%
parseData86%
get86%
getExtendedMetadataField88%
createHandler88%

Project Risks

Method CRAP
parseTopicsFromConfig342
handle210
evaluateTitle182
handle156
getInfo110
get90
parseTaskTypesFromConfig72
recordSubmission72
getTaskTypeIdByChangeTagName56
evaluateRecommendation56
getLinkRecommendationsFromRows56
getChangeTags53
get42
checkUserAccess42
processCandidate42
makeTitle30
suggest30
apply30
makeTitle30
validateInteger30
normalizeTargets30
getFileMetadata20
validateTaskTypeConfiguration20
getInfo20
getLinkRecommendationTaskType20
isUserInCampaign20
update20
filterPageIds20
getLinkRecommendation20
deleteLinkRecommendation20
getConversionMap20
getApiMetadata20
validate20
createRecommendation20
invalidateRecommendation20
getApiRequest20
parseData18
validateTaskTypeConfiguration13
doSuggest13
validate12
containsPage12
enableTaskType12
disableTaskType12
shouldSkipImageRecommendationDailyTaskLimit12
getWithSetCallback12
getTags12
loadInfoboxTemplates12
run12
setDebugData12
getTopicsMatchMode12
loadTopics12
getApiRequest12
getArticleIdFromTitle12
getSearchTerm12
get12
getByCondition12
getWikidataSectionIntersectionReason12
onContentHandlerDefaultModelFor12
getSuggestionDataFromApiResponse11
suggest9
get9
search8
getSuggestionReason8
search6
getExtendedMetadataField6
register6
getSearchTerm6
offsetGet6
parseExcludedCategories6
parseExcludedTemplates6
truncate6
getSectionImageRecommendationTasksDoneByUserForCurrentDay6
getSearchTerm6
isImageRecommendationDailyTaskLimitExceeded6
getLinkRecommendationTasksDoneByUserForCurrentDay6
getSubmitDataFormatMessage6
filter6
getSearchTerm6
getSearchTerm6
getTaskTypeIdByChangeTagName6
getSearchTerm6
getImageRecommendationTasksDoneByUserForCurrentDay6
getSubmitDataFormatMessage6
has6
getUserErrorMessage6
shouldUserSeeAllTaskTypes6
getMessageKey6
getMessageKey6
getExtendedMetadata6
hasMinimumWidth6
isValidMediaType6
getLinksFromArray6
getAllRecommendations6
listPageIds6
hasSubmission6
getStringOption6
log6
titlesToPageIds6
get6
record6
getCampaignPattern6
shouldSkipImageRecommendationDailyTaskLimitForUser6
checkExistingTags6
__construct6
validateTitle6
getCampaignTopics6
loadTopics6
validateTemplate5
validateCategory5
getByLinkTarget4
loadTaskTypesConfig3
getIconData3
serialize3
getCampaignIndexFromCampaignTerm3
getLanguagesListParam3
runTaskSetListener2
getDisabledTaskTypes2
getConfigValue2
loadTaskTypes2
getGroupName2
deleteByLinkTarget2
validate2
get2
createHandler2
getWikipediaReasonOtherProject2