Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
App\Console\Commands\FetchNewArticlesCommand0%
App\Console\Commands\SyncChannelPostsCommand0%
App\Events\ArticleReadyToPublish0%
App\Events\ExceptionLogged0%
App\Events\ExceptionOccurred0%
App\Exceptions\PlatformAuthException0%
App\Exceptions\PublishException0%
App\Exceptions\RoutingMismatchException0%
App\Http\Controllers\Api\V1\AuthController0%
App\Http\Controllers\Api\V1\LogsController0%
App\Http\Controllers\Api\V1\PlatformAccountsController0%
App\Http\Controllers\Api\V1\PlatformChannelsController0%
App\Http\Controllers\Api\V1\RoutingController0%
App\Http\Controllers\ArticlesController0%
App\Http\Controllers\FeedsController0%
App\Http\Controllers\LogsController0%
App\Http\Controllers\OnboardingController0%
App\Http\Controllers\PlatformAccountsController0%
App\Http\Controllers\PlatformChannelsController0%
App\Http\Controllers\RoutingController0%
App\Http\Controllers\SettingsController0%
App\Http\Middleware\HandleAppearance0%
App\Http\Middleware\HandleInertiaRequests0%
App\Http\Resources\ArticlePublicationResource0%
App\Http\Resources\PlatformAccountResource0%
App\Http\Resources\PlatformChannelResource0%
App\Http\Resources\PlatformInstanceResource0%
App\Http\Resources\RouteResource0%
App\Jobs\ArticleDiscoveryForFeedJob0%
App\Jobs\ArticleDiscoveryJob0%
App\Jobs\PublishToLemmyJob0%
App\Jobs\SyncChannelPostsJob0%
App\Listeners\LogExceptionToDatabase0%
App\Listeners\PublishApprovedArticle0%
App\Listeners\PublishArticle0%
App\Listeners\ValidateArticleListener0%
App\Models\ArticlePublication0%
App\Models\Keyword0%
App\Models\Language0%
App\Models\PlatformAccount0%
App\Models\PlatformChannel0%
App\Models\PlatformChannelPost0%
App\Models\PlatformInstance0%
App\Models\Route0%
App\Models\User0%
App\Modules\Lemmy\LemmyRequest0%
App\Modules\Lemmy\Services\LemmyApiService0%
App\Modules\Lemmy\Services\LemmyPublisher0%
App\Services\Article\ArticleFetcher0%
App\Services\Article\ValidationService0%
App\Services\Auth\LemmyAuthService0%
App\Services\Factories\ArticleParserFactory0%
App\Services\Factories\HomepageParserFactory0%
App\Services\Http\HttpFetcher0%
App\Services\Log\LogSaver0%
App\Services\OnboardingRedirectService0%
App\Services\Parsers\BelgaArticlePageParser0%
App\Services\Parsers\BelgaArticleParser0%
App\Services\Parsers\BelgaHomepageParser0%
App\Services\Parsers\BelgaHomepageParserAdapter0%
App\Services\Parsers\VrtArticlePageParser0%
App\Services\Parsers\VrtArticleParser0%
App\Services\Parsers\VrtHomepageParser0%
App\Services\Parsers\VrtHomepageParserAdapter0%
App\Services\Publishing\ArticlePublishingService0%
App\Services\RoutingValidationService0%
App\Services\SystemStatusService0%
App\Models\Feed4%
App\Models\Article66%
App\Providers\HorizonServiceProvider75%
App\Http\Controllers\Api\V1\FeedsController76%
App\Providers\AppServiceProvider82%
App\Http\Controllers\Api\V1\DashboardController84%
App\Http\Controllers\Api\V1\SettingsController85%
App\Http\Controllers\Api\V1\BaseController87%
App\Http\Controllers\Api\V1\ArticlesController87%

Project Risks

Class CRAP
App\Http\Controllers\OnboardingController506
App\Modules\Lemmy\Services\LemmyApiService462
App\Http\Controllers\Api\V1\RoutingController306
App\Services\Parsers\BelgaArticlePageParser306
App\Http\Controllers\RoutingController240
App\Http\Controllers\Api\V1\PlatformAccountsController210
App\Services\Parsers\VrtArticlePageParser210
App\Http\Controllers\Api\V1\PlatformChannelsController182
App\Jobs\SyncChannelPostsJob182
App\Models\Feed161
App\Http\Controllers\Api\V1\AuthController132
App\Services\Article\ArticleFetcher132
App\Http\Controllers\PlatformAccountsController110
App\Http\Controllers\PlatformChannelsController110
App\Models\PlatformAccount110
App\Http\Controllers\FeedsController90
App\Services\Http\HttpFetcher90
App\Services\SystemStatusService72
App\Listeners\ValidateArticleListener56
App\Modules\Lemmy\LemmyRequest42
App\Services\Auth\LemmyAuthService42
App\Services\Factories\ArticleParserFactory42
App\Services\Log\LogSaver42
App\Exceptions\PublishException30
App\Services\Article\ValidationService30
App\Services\Factories\HomepageParserFactory30
App\Services\Publishing\ArticlePublishingService30
App\Services\RoutingValidationService30
App\Models\Article23
App\Listeners\PublishApprovedArticle20
App\Http\Controllers\Api\V1\FeedsController15
App\Console\Commands\FetchNewArticlesCommand12
App\Console\Commands\SyncChannelPostsCommand12
App\Http\Controllers\Api\V1\LogsController12
App\Http\Controllers\SettingsController12
App\Jobs\ArticleDiscoveryJob12
App\Jobs\PublishToLemmyJob12
App\Listeners\PublishArticle12
App\Http\Controllers\Api\V1\SettingsController7
App\Providers\AppServiceProvider6
App\Http\Controllers\Api\V1\BaseController6
App\Services\OnboardingRedirectService6
App\Http\Controllers\Api\V1\ArticlesController5
App\Http\Controllers\Api\V1\DashboardController3

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
handle0%
handle0%
syncLemmy0%
__construct0%
__construct0%
__construct0%
__construct0%
getPlatform0%
__construct0%
getArticle0%
getPlatform0%
__construct0%
login0%
register0%
logout0%
me0%
sendNotFound0%
sendUnauthorized0%
index0%
index0%
store0%
show0%
update0%
destroy0%
setActive0%
index0%
store0%
show0%
update0%
destroy0%
toggle0%
index0%
store0%
show0%
update0%
destroy0%
toggle0%
__invoke0%
approve0%
reject0%
index0%
create0%
store0%
show0%
edit0%
update0%
destroy0%
toggle0%
__invoke0%
index0%
platform0%
feed0%
channel0%
complete0%
needsOnboarding0%
hasPlatformAccount0%
hasFeed0%
hasChannel0%
index0%
create0%
store0%
edit0%
update0%
destroy0%
setActive0%
index0%
create0%
store0%
show0%
edit0%
update0%
destroy0%
toggle0%
index0%
create0%
store0%
edit0%
update0%
destroy0%
toggle0%
parseJsonFilters0%
index0%
update0%
handle0%
version0%
share0%
toArray0%
toArray0%
toArray0%
toArray0%
toArray0%
__construct0%
handle0%
dispatchForAllActiveFeeds0%
__construct0%
handle0%
__construct0%
handle0%
__construct0%
dispatchForAllActiveChannels0%
handle0%
syncLemmyChannelPosts0%
getAuthToken0%
handle0%
handle0%
__construct0%
handle0%
handle0%
isValid0%
isApproved0%
isPending0%
isRejected0%
canBePublished0%
article0%
getTypeDisplayAttribute0%
getStatusAttribute0%
channels0%
activeChannels0%
language0%
feed0%
platformChannel0%
platformInstances0%
platformChannels0%
feeds0%
password0%
apiToken0%
getActive0%
setAsActive0%
channels0%
activeChannels0%
platformInstance0%
platformAccounts0%
activePlatformAccounts0%
getFullNameAttribute0%
feeds0%
activeFeeds0%
language0%
casts0%
urlExists0%
storePost0%
channels0%
languages0%
findByUrl0%
feed0%
platformChannel0%
keywords0%
casts0%
__construct0%
get0%
post0%
withToken0%
__construct0%
login0%
getCommunityId0%
syncChannelPosts0%
createPost0%
getLanguages0%
__construct0%
publishToChannel0%
mapExceptionToLogLevel0%
getArticlesFromFeed0%
getArticlesFromRssFeed0%
getArticlesFromWebsiteFeed0%
fetchArticleData0%
saveArticle0%
validate0%
validateByKeywords0%
getToken0%
getParser0%
getSupportedSources0%
registerParser0%
getParser0%
getParserForFeed0%
fetchHtml0%
fetchMultipleUrls0%
info0%
error0%
warning0%
debug0%
log0%
handleRedirect0%
extractTitle0%
extractDescription0%
extractFullArticle0%
extractThumbnail0%
extractData0%
canParse0%
extractData0%
getSourceName0%
extractArticleUrls0%
canParse0%
extractArticleUrls0%
getHomepageUrl0%
getSourceName0%
extractTitle0%
extractDescription0%
extractFullArticle0%
extractThumbnail0%
extractData0%
canParse0%
extractData0%
getSourceName0%
extractArticleUrls0%
canParse0%
extractArticleUrls0%
getHomepageUrl0%
getSourceName0%
publishToRoutedChannels0%
publishToChannel0%
validateLanguageCompatibility0%
getSystemStatus0%
canProcessArticles0%
update63%
store66%
gate66%
approve71%
reject71%
destroy71%
index71%
toggle77%
stats83%