Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
GrowthExperiments\NewcomerTasks\AbstractSubmissionHandler0%
GrowthExperiments\NewcomerTasks\SuggestionsInfo0%
GrowthExperiments\NewcomerTasks\AddLink\StaticLinkRecommendationProvider0%
GrowthExperiments\NewcomerTasks\AddLink\SubpageLinkRecommendationProvider0%
GrowthExperiments\NewcomerTasks\AddSectionImage\AddSectionImageLogFormatter0%
GrowthExperiments\NewcomerTasks\CachedSuggestionsInfo0%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\CommunityConfigurationLoader0%
GrowthExperiments\NewcomerTasks\AbstractTaskSetFilter0%
GrowthExperiments\NewcomerTasks\FauxSearchResultWithScore0%
GrowthExperiments\NewcomerTasks\NewcomerTasksChangeTagsManager0%
GrowthExperiments\NewcomerTasks\NewcomerTasksLogFactory0%
GrowthExperiments\NewcomerTasks\SubpageRecommendationProvider0%
GrowthExperiments\NewcomerTasks\TaskSetListener0%
GrowthExperiments\NewcomerTasks\AddLink\SearchIndexUpdater\EventGateSearchIndexUpdater0%
GrowthExperiments\NewcomerTasks\TaskSuggester\QualityGateDecorator0%
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\ServiceLinkRecommendationProvider0%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\StaticConfigurationLoader0%
GrowthExperiments\NewcomerTasks\AddLink\SearchIndexUpdater\CirrusSearchIndexUpdater0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendation0%
GrowthExperiments\NewcomerTasks\AddImage\AddImageLogFormatter0%
GrowthExperiments\NewcomerTasks\AddImage\CacheBackedImageRecommendationProvider0%
GrowthExperiments\NewcomerTasks\AddImage\EventBus\EventGateImageSuggestionFeedbackUpdater0%
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationMetadataService0%
GrowthExperiments\NewcomerTasks\AddLink\LinkSubmissionRecorder0%
GrowthExperiments\NewcomerTasks\AddImage\StaticImageRecommendationMetadataProvider0%
GrowthExperiments\NewcomerTasks\AddImage\SubpageImageRecommendationProvider0%
GrowthExperiments\NewcomerTasks\AddLink\AddLinkSubmissionHandler0%
GrowthExperiments\NewcomerTasks\AddLink\DbBackedLinkRecommendationProvider0%
GrowthExperiments\NewcomerTasks\Topic\RawOresTopic0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationLink0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationUpdater0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationMetadata0%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationHelper0%
GrowthExperiments\NewcomerTasks\TaskSuggester\NewcomerTasksCacheRefreshJob11%
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationStore17%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\AbstractDataConfigurationLoader18%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\PageConfigurationLoader18%
GrowthExperiments\NewcomerTasks\TaskType\LinkRecommendationTaskTypeHandler33%
GrowthExperiments\NewcomerTasks\NewcomerTasksUserOptionsLookup34%
GrowthExperiments\NewcomerTasks\AddImage\AddImageSubmissionHandler40%
GrowthExperiments\NewcomerTasks\TaskType\TemplateBasedTaskTypeHandler48%
GrowthExperiments\NewcomerTasks\TaskType\TaskType48%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\ErrorForwardingConfigurationLoader50%
GrowthExperiments\NewcomerTasks\AddImage\MvpImageRecommendationApiHandler50%
GrowthExperiments\NewcomerTasks\Task\TaskSet52%
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\TaskSuggester\SearchTaskSuggester85%
GrowthExperiments\NewcomerTasks\TaskSuggester\RemoteSearchTaskSuggester85%
GrowthExperiments\NewcomerTasks\TaskType\NullTaskType85%
GrowthExperiments\NewcomerTasks\ConfigurationLoader\TopicDecorator86%
GrowthExperiments\NewcomerTasks\TaskSuggester\DecoratingTaskSuggesterFactory87%
GrowthExperiments\NewcomerTasks\Topic\CampaignTopic88%

Project Risks

Class CRAP
GrowthExperiments\NewcomerTasks\ConfigurationLoader\AbstractDataConfigurationLoader1110
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationUpdater1056
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationStore974
GrowthExperiments\NewcomerTasks\AddLink\AddLinkSubmissionHandler600
GrowthExperiments\NewcomerTasks\AddImage\AddImageSubmissionHandler319
GrowthExperiments\NewcomerTasks\TaskSuggester\QualityGateDecorator306
GrowthExperiments\NewcomerTasks\NewcomerTasksChangeTagsManager306
GrowthExperiments\NewcomerTasks\NewcomerTasksUserOptionsLookup295
GrowthExperiments\NewcomerTasks\ConfigurationLoader\CommunityConfigurationLoader132
GrowthExperiments\NewcomerTasks\TaskType\ImageRecommendationBaseTaskTypeHandler132
GrowthExperiments\NewcomerTasks\SuggestionsInfo132
GrowthExperiments\NewcomerTasks\AddImage\ImageRecommendationMetadataService132
GrowthExperiments\NewcomerTasks\SubpageRecommendationProvider132
GrowthExperiments\NewcomerTasks\TaskType\TaskTypeHandler131
GrowthExperiments\NewcomerTasks\Task\TaskSet118
GrowthExperiments\NewcomerTasks\TaskType\TemplateBasedTaskTypeHandler110
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendation110
GrowthExperiments\NewcomerTasks\TaskType\NullTaskTypeHandler110
GrowthExperiments\NewcomerTasks\AddLink\ServiceLinkRecommendationProvider110
GrowthExperiments\NewcomerTasks\TaskType\TaskType109
GrowthExperiments\NewcomerTasks\CampaignConfig87
GrowthExperiments\NewcomerTasks\AddLink\LinkRecommendationHelper72
GrowthExperiments\NewcomerTasks\ConfigurationLoader\PageConfigurationLoader63
GrowthExperiments\NewcomerTasks\AddLink\LinkSubmissionRecorder56
GrowthExperiments\NewcomerTasks\AddImage\ProductionImageRecommendationApiHandler51
GrowthExperiments\NewcomerTasks\TaskType\LinkRecommendationTaskTypeHandler46
GrowthExperiments\NewcomerTasks\AddImage\SubpageImageRecommendationProvider42
GrowthExperiments\NewcomerTasks\AddImage\CacheBackedImageRecommendationProvider42
GrowthExperiments\NewcomerTasks\ConfigurationLoader\ConfigurationValidator40
GrowthExperiments\NewcomerTasks\TaskSuggester\SearchTaskSuggester36
GrowthExperiments\NewcomerTasks\AddImage\ServiceImageRecommendationProvider35
GrowthExperiments\NewcomerTasks\AddImage\MvpImageRecommendationApiHandler34
GrowthExperiments\NewcomerTasks\TaskType\SectionImageRecommendationTaskTypeHandler30
GrowthExperiments\NewcomerTasks\AddImage\EventBus\EventGateImageSuggestionFeedbackUpdater30
GrowthExperiments\NewcomerTasks\CachedSuggestionsInfo30
GrowthExperiments\NewcomerTasks\TaskType\ImageRecommendationTaskTypeHandler30
GrowthExperiments\NewcomerTasks\AddImage\ActionApiImageRecommendationApiHandler21
GrowthExperiments\NewcomerTasks\AddLink\SearchIndexUpdater\EventGateSearchIndexUpdater20
GrowthExperiments\NewcomerTasks\AddLink\DbBackedLinkRecommendationProvider20
GrowthExperiments\NewcomerTasks\TaskSetListener20
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\ImageRecommendationFilter8
GrowthExperiments\NewcomerTasks\TaskSuggester\RemoteSearchTaskSuggester7
GrowthExperiments\NewcomerTasks\ConfigurationLoader\TopicDecorator7
GrowthExperiments\NewcomerTasks\AddSectionImage\AddSectionImageLogFormatter6
GrowthExperiments\NewcomerTasks\AddImage\AddImageLogFormatter6
GrowthExperiments\NewcomerTasks\AbstractSubmissionHandler6
GrowthExperiments\NewcomerTasks\TaskSuggester\DecoratingTaskSuggesterFactory5
GrowthExperiments\NewcomerTasks\TaskSuggester\ErrorForwardingTaskSuggester4

Methods

Coverage Distribution

Complexity

Insufficient Coverage

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

Project Risks

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