refactor: Update type hints and class references across various files for improved clarity and consistency.
This commit is contained in:
parent
f2aad0198a
commit
1c756ab54f
@ -13,7 +13,7 @@ class TrackVisitor
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
* @param Closure(Request): (Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
use App\Settings\GeneralSettings;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Mail\Mailables\Attachment;
|
||||
use Illuminate\Mail\Mailables\Content;
|
||||
use Illuminate\Mail\Mailables\Envelope;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
@ -55,7 +56,7 @@ public function content(): Content
|
||||
/**
|
||||
* Get the attachments for the message.
|
||||
*
|
||||
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
|
||||
* @return array<int, Attachment>
|
||||
*/
|
||||
public function attachments(): array
|
||||
{
|
||||
|
||||
@ -6,6 +6,8 @@
|
||||
use App\Models\MediaMonitoring;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Client\Pool;
|
||||
use Illuminate\Http\Client\Response;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Str;
|
||||
@ -57,7 +59,7 @@ public function crawlFromGoogleNews(string $keyword, int $limit = 10, array $the
|
||||
$parsedData = [];
|
||||
foreach ($resolvedLinks as $key => $res) {
|
||||
// Check if $res is a response or an exception (ConnectionException)
|
||||
$originalLink = ($res instanceof \Illuminate\Http\Client\Response && $res->successful())
|
||||
$originalLink = ($res instanceof Response && $res->successful())
|
||||
? (string) $res->effectiveUri()
|
||||
: $items[$key]['google_link'];
|
||||
|
||||
@ -84,7 +86,7 @@ public function crawlFromGoogleNews(string $keyword, int $limit = 10, array $the
|
||||
$itemData = $parsedData[$key];
|
||||
$extra = ['writer' => 'Redaksi', 'content' => null];
|
||||
|
||||
if ($res instanceof \Illuminate\Http\Client\Response && $res->successful()) {
|
||||
if ($res instanceof Response && $res->successful()) {
|
||||
$crawler = new Crawler($res->body());
|
||||
$extra['writer'] = $this->extractWriter($crawler);
|
||||
$extra['content'] = $this->extractContent($crawler);
|
||||
@ -227,7 +229,7 @@ private function cleanContent(?string $content): string
|
||||
private function generateCode(): string
|
||||
{
|
||||
// Use a lock-safe approach for sequential code
|
||||
return \Illuminate\Support\Facades\DB::transaction(function () {
|
||||
return DB::transaction(function () {
|
||||
$latestCode = MediaMonitoring::where('code', 'LIKE', 'ADN%')
|
||||
->lockForUpdate()
|
||||
->orderBy('code', 'desc')
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Middleware\ValidateSignatureFlexible;
|
||||
use Illuminate\Foundation\Application;
|
||||
use Illuminate\Foundation\Configuration\Exceptions;
|
||||
use Illuminate\Foundation\Configuration\Middleware;
|
||||
@ -13,7 +14,7 @@
|
||||
)
|
||||
->withMiddleware(function (Middleware $middleware): void {
|
||||
$middleware->alias([
|
||||
'signed' => \App\Http\Middleware\ValidateSignatureFlexible::class,
|
||||
'signed' => ValidateSignatureFlexible::class,
|
||||
]);
|
||||
|
||||
$middleware->trustProxies(
|
||||
|
||||
@ -1,7 +1,11 @@
|
||||
<?php
|
||||
|
||||
use App\Providers\AppServiceProvider;
|
||||
use App\Providers\Filament\DashboardPanelProvider;
|
||||
use App\Providers\ViewServiceProvider;
|
||||
|
||||
return [
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\Filament\DashboardPanelProvider::class,
|
||||
App\Providers\ViewServiceProvider::class,
|
||||
AppServiceProvider::class,
|
||||
DashboardPanelProvider::class,
|
||||
ViewServiceProvider::class,
|
||||
];
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
<?php
|
||||
|
||||
use App\Models\User;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
@ -62,7 +64,7 @@
|
||||
'providers' => [
|
||||
'users' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => env('AUTH_MODEL', App\Models\User::class),
|
||||
'model' => env('AUTH_MODEL', User::class),
|
||||
],
|
||||
|
||||
// 'users' => [
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
<?php
|
||||
|
||||
use BezhanSalleh\FilamentShield\Resources\Roles\RoleResource;
|
||||
use Filament\Pages\Dashboard;
|
||||
use Filament\Widgets\AccountWidget;
|
||||
use Filament\Widgets\FilamentInfoWidget;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
@ -163,7 +168,7 @@
|
||||
'resources' => [
|
||||
'subject' => 'model',
|
||||
'manage' => [
|
||||
\BezhanSalleh\FilamentShield\Resources\Roles\RoleResource::class => [
|
||||
RoleResource::class => [
|
||||
'viewAny',
|
||||
'view',
|
||||
'create',
|
||||
@ -191,7 +196,7 @@
|
||||
'subject' => 'class',
|
||||
'prefix' => 'view',
|
||||
'exclude' => [
|
||||
\Filament\Pages\Dashboard::class,
|
||||
Dashboard::class,
|
||||
],
|
||||
],
|
||||
|
||||
@ -210,8 +215,8 @@
|
||||
'subject' => 'class',
|
||||
'prefix' => 'view',
|
||||
'exclude' => [
|
||||
\Filament\Widgets\AccountWidget::class,
|
||||
\Filament\Widgets\FilamentInfoWidget::class,
|
||||
AccountWidget::class,
|
||||
FilamentInfoWidget::class,
|
||||
],
|
||||
],
|
||||
|
||||
|
||||
@ -1,5 +1,31 @@
|
||||
<?php
|
||||
|
||||
use App\MediaLibrary\CustomPathGenerator;
|
||||
use Spatie\ImageOptimizer\Optimizers\Avifenc;
|
||||
use Spatie\ImageOptimizer\Optimizers\Cwebp;
|
||||
use Spatie\ImageOptimizer\Optimizers\Gifsicle;
|
||||
use Spatie\ImageOptimizer\Optimizers\Jpegoptim;
|
||||
use Spatie\ImageOptimizer\Optimizers\Optipng;
|
||||
use Spatie\ImageOptimizer\Optimizers\Pngquant;
|
||||
use Spatie\ImageOptimizer\Optimizers\Svgo;
|
||||
use Spatie\MediaLibrary\Conversions\ImageGenerators\Avif;
|
||||
use Spatie\MediaLibrary\Conversions\ImageGenerators\Image;
|
||||
use Spatie\MediaLibrary\Conversions\ImageGenerators\Pdf;
|
||||
use Spatie\MediaLibrary\Conversions\ImageGenerators\Svg;
|
||||
use Spatie\MediaLibrary\Conversions\ImageGenerators\Video;
|
||||
use Spatie\MediaLibrary\Conversions\ImageGenerators\Webp;
|
||||
use Spatie\MediaLibrary\Conversions\Jobs\PerformConversionsJob;
|
||||
use Spatie\MediaLibrary\Downloaders\DefaultDownloader;
|
||||
use Spatie\MediaLibrary\MediaCollections\Models\Media;
|
||||
use Spatie\MediaLibrary\MediaCollections\Models\Observers\MediaObserver;
|
||||
use Spatie\MediaLibrary\ResponsiveImages\Jobs\GenerateResponsiveImagesJob;
|
||||
use Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred;
|
||||
use Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator;
|
||||
use Spatie\MediaLibrary\Support\FileNamer\DefaultFileNamer;
|
||||
use Spatie\MediaLibrary\Support\FileRemover\DefaultFileRemover;
|
||||
use Spatie\MediaLibrary\Support\UrlGenerator\DefaultUrlGenerator;
|
||||
use Spatie\MediaLibraryPro\Models\TemporaryUpload;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
@ -39,12 +65,12 @@
|
||||
/*
|
||||
* The fully qualified class name of the media model.
|
||||
*/
|
||||
'media_model' => Spatie\MediaLibrary\MediaCollections\Models\Media::class,
|
||||
'media_model' => Media::class,
|
||||
|
||||
/*
|
||||
* The fully qualified class name of the media observer.
|
||||
*/
|
||||
'media_observer' => Spatie\MediaLibrary\MediaCollections\Models\Observers\MediaObserver::class,
|
||||
'media_observer' => MediaObserver::class,
|
||||
|
||||
/*
|
||||
* When enabled, media collections will be serialised using the default
|
||||
@ -59,7 +85,7 @@
|
||||
*
|
||||
* This model is only used in Media Library Pro (https://medialibrary.pro)
|
||||
*/
|
||||
'temporary_upload_model' => Spatie\MediaLibraryPro\Models\TemporaryUpload::class,
|
||||
'temporary_upload_model' => TemporaryUpload::class,
|
||||
|
||||
/*
|
||||
* When enabled, Media Library Pro will only process temporary uploads that were uploaded
|
||||
@ -76,17 +102,17 @@
|
||||
/*
|
||||
* This is the class that is responsible for naming generated files.
|
||||
*/
|
||||
'file_namer' => Spatie\MediaLibrary\Support\FileNamer\DefaultFileNamer::class,
|
||||
'file_namer' => DefaultFileNamer::class,
|
||||
|
||||
/*
|
||||
* The class that contains the strategy for determining a media file's path.
|
||||
*/
|
||||
'path_generator' => App\MediaLibrary\CustomPathGenerator::class,
|
||||
'path_generator' => CustomPathGenerator::class,
|
||||
|
||||
/*
|
||||
* The class that contains the strategy for determining how to remove files.
|
||||
*/
|
||||
'file_remover_class' => Spatie\MediaLibrary\Support\FileRemover\DefaultFileRemover::class,
|
||||
'file_remover_class' => DefaultFileRemover::class,
|
||||
|
||||
/*
|
||||
* Here you can specify which path generator should be used for the given class.
|
||||
@ -101,7 +127,7 @@
|
||||
* When urls to files get generated, this class will be called. Use the default
|
||||
* if your files are stored locally above the site root or on s3.
|
||||
*/
|
||||
'url_generator' => Spatie\MediaLibrary\Support\UrlGenerator\DefaultUrlGenerator::class,
|
||||
'url_generator' => DefaultUrlGenerator::class,
|
||||
|
||||
/*
|
||||
* Moves media on updating to keep path consistent. Enable it only with a custom
|
||||
@ -121,34 +147,34 @@
|
||||
* the optimizers that will be used by default.
|
||||
*/
|
||||
'image_optimizers' => [
|
||||
Spatie\ImageOptimizer\Optimizers\Jpegoptim::class => [
|
||||
Jpegoptim::class => [
|
||||
'-m85', // set maximum quality to 85%
|
||||
'--force', // ensure that progressive generation is always done also if a little bigger
|
||||
'--strip-all', // this strips out all text information such as comments and EXIF data
|
||||
'--all-progressive', // this will make sure the resulting image is a progressive one
|
||||
],
|
||||
Spatie\ImageOptimizer\Optimizers\Pngquant::class => [
|
||||
Pngquant::class => [
|
||||
'--force', // required parameter for this package
|
||||
],
|
||||
Spatie\ImageOptimizer\Optimizers\Optipng::class => [
|
||||
Optipng::class => [
|
||||
'-i0', // this will result in a non-interlaced, progressive scanned image
|
||||
'-o2', // this set the optimization level to two (multiple IDAT compression trials)
|
||||
'-quiet', // required parameter for this package
|
||||
],
|
||||
Spatie\ImageOptimizer\Optimizers\Svgo::class => [
|
||||
Svgo::class => [
|
||||
'--disable=cleanupIDs', // disabling because it is known to cause troubles
|
||||
],
|
||||
Spatie\ImageOptimizer\Optimizers\Gifsicle::class => [
|
||||
Gifsicle::class => [
|
||||
'-b', // required parameter for this package
|
||||
'-O3', // this produces the slowest but best results
|
||||
],
|
||||
Spatie\ImageOptimizer\Optimizers\Cwebp::class => [
|
||||
Cwebp::class => [
|
||||
'-m 6', // for the slowest compression method in order to get the best compression.
|
||||
'-pass 10', // for maximizing the amount of analysis pass.
|
||||
'-mt', // multithreading for some speed improvements.
|
||||
'-q 90', // quality factor that brings the least noticeable changes.
|
||||
],
|
||||
Spatie\ImageOptimizer\Optimizers\Avifenc::class => [
|
||||
Avifenc::class => [
|
||||
'-a cq-level=23', // constant quality level, lower values mean better quality and greater file size (0-63).
|
||||
'-j all', // number of jobs (worker threads, "all" uses all available cores).
|
||||
'--min 0', // min quantizer for color (0-63).
|
||||
@ -164,12 +190,12 @@
|
||||
* These generators will be used to create an image of media files.
|
||||
*/
|
||||
'image_generators' => [
|
||||
Spatie\MediaLibrary\Conversions\ImageGenerators\Image::class,
|
||||
Spatie\MediaLibrary\Conversions\ImageGenerators\Webp::class,
|
||||
Spatie\MediaLibrary\Conversions\ImageGenerators\Avif::class,
|
||||
Spatie\MediaLibrary\Conversions\ImageGenerators\Pdf::class,
|
||||
Spatie\MediaLibrary\Conversions\ImageGenerators\Svg::class,
|
||||
Spatie\MediaLibrary\Conversions\ImageGenerators\Video::class,
|
||||
Image::class,
|
||||
Webp::class,
|
||||
Avif::class,
|
||||
Pdf::class,
|
||||
Svg::class,
|
||||
Video::class,
|
||||
],
|
||||
|
||||
/*
|
||||
@ -209,8 +235,8 @@
|
||||
* your custom jobs extend the ones provided by the package.
|
||||
*/
|
||||
'jobs' => [
|
||||
'perform_conversions' => Spatie\MediaLibrary\Conversions\Jobs\PerformConversionsJob::class,
|
||||
'generate_responsive_images' => Spatie\MediaLibrary\ResponsiveImages\Jobs\GenerateResponsiveImagesJob::class,
|
||||
'perform_conversions' => PerformConversionsJob::class,
|
||||
'generate_responsive_images' => GenerateResponsiveImagesJob::class,
|
||||
],
|
||||
|
||||
/*
|
||||
@ -218,7 +244,7 @@
|
||||
* This is particularly useful when the url of the image is behind a firewall and
|
||||
* need to add additional flags, possibly using curl.
|
||||
*/
|
||||
'media_downloader' => Spatie\MediaLibrary\Downloaders\DefaultDownloader::class,
|
||||
'media_downloader' => DefaultDownloader::class,
|
||||
|
||||
/*
|
||||
* When using the addMediaFromUrl method the SSL is verified by default.
|
||||
@ -255,7 +281,7 @@
|
||||
*
|
||||
* https://docs.spatie.be/laravel-medialibrary/v9/advanced-usage/generating-responsive-images
|
||||
*/
|
||||
'width_calculator' => Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class,
|
||||
'width_calculator' => FileSizeOptimizedWidthCalculator::class,
|
||||
|
||||
/*
|
||||
* By default rendering media to a responsive image will add some javascript and a tiny placeholder.
|
||||
@ -268,7 +294,7 @@
|
||||
* This class will generate the tiny placeholder used for progressive image loading. By default
|
||||
* the media library will use a tiny blurred jpg image.
|
||||
*/
|
||||
'tiny_placeholder_generator' => Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class,
|
||||
'tiny_placeholder_generator' => Blurred::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
<?php
|
||||
|
||||
use Spatie\Permission\DefaultTeamResolver;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
|
||||
return [
|
||||
|
||||
'models' => [
|
||||
@ -13,7 +17,7 @@
|
||||
* `Spatie\Permission\Contracts\Permission` contract.
|
||||
*/
|
||||
|
||||
'permission' => Spatie\Permission\Models\Permission::class,
|
||||
'permission' => Permission::class,
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
@ -24,7 +28,7 @@
|
||||
* `Spatie\Permission\Contracts\Role` contract.
|
||||
*/
|
||||
|
||||
'role' => Spatie\Permission\Models\Role::class,
|
||||
'role' => Role::class,
|
||||
|
||||
],
|
||||
|
||||
@ -136,7 +140,7 @@
|
||||
/*
|
||||
* The class to use to resolve the permissions team id
|
||||
*/
|
||||
'team_resolver' => \Spatie\Permission\DefaultTeamResolver::class,
|
||||
'team_resolver' => DefaultTeamResolver::class,
|
||||
|
||||
/*
|
||||
* Passport Client Credentials Grant
|
||||
@ -183,7 +187,7 @@
|
||||
* When permissions or roles are updated the cache is flushed automatically.
|
||||
*/
|
||||
|
||||
'expiration_time' => \DateInterval::createFromDateString('24 hours'),
|
||||
'expiration_time' => DateInterval::createFromDateString('24 hours'),
|
||||
|
||||
/*
|
||||
* The cache key used to store all permissions.
|
||||
|
||||
@ -1,5 +1,12 @@
|
||||
<?php
|
||||
|
||||
use Spatie\LaravelData\Data;
|
||||
use Spatie\LaravelSettings\SettingsCasts\DataCast;
|
||||
use Spatie\LaravelSettings\SettingsCasts\DateTimeInterfaceCast;
|
||||
use Spatie\LaravelSettings\SettingsCasts\DateTimeZoneCast;
|
||||
use Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository;
|
||||
use Spatie\LaravelSettings\SettingsRepositories\RedisSettingsRepository;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
@ -35,13 +42,13 @@
|
||||
*/
|
||||
'repositories' => [
|
||||
'database' => [
|
||||
'type' => Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class,
|
||||
'type' => DatabaseSettingsRepository::class,
|
||||
'model' => null,
|
||||
'table' => null,
|
||||
'connection' => null,
|
||||
],
|
||||
'redis' => [
|
||||
'type' => Spatie\LaravelSettings\SettingsRepositories\RedisSettingsRepository::class,
|
||||
'type' => RedisSettingsRepository::class,
|
||||
'connection' => null,
|
||||
'prefix' => null,
|
||||
],
|
||||
@ -72,10 +79,10 @@
|
||||
* your settings class isn't a default PHP type.
|
||||
*/
|
||||
'global_casts' => [
|
||||
DateTimeInterface::class => Spatie\LaravelSettings\SettingsCasts\DateTimeInterfaceCast::class,
|
||||
DateTimeZone::class => Spatie\LaravelSettings\SettingsCasts\DateTimeZoneCast::class,
|
||||
DateTimeInterface::class => DateTimeInterfaceCast::class,
|
||||
DateTimeZone::class => DateTimeZoneCast::class,
|
||||
// Spatie\DataTransferObject\DataTransferObject::class => Spatie\LaravelSettings\SettingsCasts\DtoCast::class,
|
||||
Spatie\LaravelData\Data::class => Spatie\LaravelSettings\SettingsCasts\DataCast::class,
|
||||
Data::class => DataCast::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Classification;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -25,13 +26,13 @@
|
||||
it('has sub classifications relationship', function () {
|
||||
$classification = Classification::factory()->create();
|
||||
|
||||
expect($classification->subClassifications())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class);
|
||||
expect($classification->subClassifications())->toBeInstanceOf(HasMany::class);
|
||||
});
|
||||
|
||||
it('has content recaps relationship', function () {
|
||||
$classification = Classification::factory()->create();
|
||||
|
||||
expect($classification->contentRecaps())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class);
|
||||
expect($classification->contentRecaps())->toBeInstanceOf(HasMany::class);
|
||||
});
|
||||
|
||||
it('scopes active classifications', function () {
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Company;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -26,18 +29,18 @@
|
||||
it('belongs to user', function () {
|
||||
$company = Company::factory()->create();
|
||||
|
||||
expect($company->user())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($company->user())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('has one partner media', function () {
|
||||
$company = Company::factory()->create();
|
||||
|
||||
expect($company->partnerMedia())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\HasOne::class);
|
||||
expect($company->partnerMedia())->toBeInstanceOf(HasOne::class);
|
||||
});
|
||||
|
||||
it('has many journalists through partner media', function () {
|
||||
$company = Company::factory()->create();
|
||||
|
||||
expect($company->journalists())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\HasManyThrough::class);
|
||||
expect($company->journalists())->toBeInstanceOf(HasManyThrough::class);
|
||||
});
|
||||
});
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
use App\Enums\ContentType;
|
||||
use App\Models\ContentRecap;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -25,7 +26,7 @@
|
||||
it('belongs to classification', function () {
|
||||
$recap = ContentRecap::factory()->create();
|
||||
|
||||
expect($recap->classification())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($recap->classification())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('casts type to content type enum', function () {
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
use App\Enums\IssueSentiment;
|
||||
use App\Models\IssueManagement;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -29,31 +30,31 @@
|
||||
it('belongs to location', function () {
|
||||
$issue = IssueManagement::factory()->create();
|
||||
|
||||
expect($issue->location())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($issue->location())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('belongs to sub location', function () {
|
||||
$issue = IssueManagement::factory()->create();
|
||||
|
||||
expect($issue->subLocation())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($issue->subLocation())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('belongs to classification', function () {
|
||||
$issue = IssueManagement::factory()->create();
|
||||
|
||||
expect($issue->classification())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($issue->classification())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('belongs to sub classification', function () {
|
||||
$issue = IssueManagement::factory()->create();
|
||||
|
||||
expect($issue->subClassification())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($issue->subClassification())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('belongs to media monitoring', function () {
|
||||
$issue = IssueManagement::factory()->create();
|
||||
|
||||
expect($issue->mediaMonitoring())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($issue->mediaMonitoring())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('casts sentiment enums correctly', function () {
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Journalist;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -26,6 +27,6 @@
|
||||
it('belongs to partner media', function () {
|
||||
$journalist = Journalist::factory()->create();
|
||||
|
||||
expect($journalist->partnerMedia())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($journalist->partnerMedia())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
});
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Location;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -25,7 +26,7 @@
|
||||
it('has sub locations relationship', function () {
|
||||
$location = Location::factory()->create();
|
||||
|
||||
expect($location->subLocations())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\HasMany::class);
|
||||
expect($location->subLocations())->toBeInstanceOf(HasMany::class);
|
||||
});
|
||||
|
||||
it('casts is_active to enum', function () {
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
use App\Models\MediaMonitoring;
|
||||
use App\Models\Theme;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -27,13 +29,13 @@
|
||||
it('has themes relationship', function () {
|
||||
$mediaMonitoring = MediaMonitoring::factory()->create();
|
||||
|
||||
expect($mediaMonitoring->themes())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsToMany::class);
|
||||
expect($mediaMonitoring->themes())->toBeInstanceOf(BelongsToMany::class);
|
||||
});
|
||||
|
||||
it('has issue management relationship', function () {
|
||||
$mediaMonitoring = MediaMonitoring::factory()->create();
|
||||
|
||||
expect($mediaMonitoring->issueManagement())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\HasOne::class);
|
||||
expect($mediaMonitoring->issueManagement())->toBeInstanceOf(HasOne::class);
|
||||
});
|
||||
|
||||
it('can attach themes', function () {
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use App\Models\MediaMonitoringTheme;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -23,12 +24,12 @@
|
||||
it('belongs to media monitoring', function () {
|
||||
$pivot = MediaMonitoringTheme::factory()->create();
|
||||
|
||||
expect($pivot->mediaMonitoring())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($pivot->mediaMonitoring())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('belongs to theme', function () {
|
||||
$pivot = MediaMonitoringTheme::factory()->create();
|
||||
|
||||
expect($pivot->theme())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($pivot->theme())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
});
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
use App\Enums\MediaClassification;
|
||||
use App\Enums\MediaType;
|
||||
use App\Models\PartnerMedia;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -26,7 +27,7 @@
|
||||
it('belongs to company', function () {
|
||||
$partner = PartnerMedia::factory()->create();
|
||||
|
||||
expect($partner->company())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($partner->company())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('casts type to media type enum', function () {
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\SubClassification;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -25,7 +26,7 @@
|
||||
it('belongs to classification', function () {
|
||||
$subClassification = SubClassification::factory()->create();
|
||||
|
||||
expect($subClassification->classification())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($subClassification->classification())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('casts is_active to enum', function () {
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\SubLocation;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -25,7 +26,7 @@
|
||||
it('belongs to location', function () {
|
||||
$subLocation = SubLocation::factory()->create();
|
||||
|
||||
expect($subLocation->location())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsTo::class);
|
||||
expect($subLocation->location())->toBeInstanceOf(BelongsTo::class);
|
||||
});
|
||||
|
||||
it('casts is_active to enum', function () {
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
use App\Enums\IsActive;
|
||||
use App\Models\Theme;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
@ -25,7 +26,7 @@
|
||||
it('has media monitorings relationship', function () {
|
||||
$theme = Theme::factory()->create();
|
||||
|
||||
expect($theme->mediaMonitorings())->toBeInstanceOf(\Illuminate\Database\Eloquent\Relations\BelongsToMany::class);
|
||||
expect($theme->mediaMonitorings())->toBeInstanceOf(BelongsToMany::class);
|
||||
});
|
||||
|
||||
it('scopes active themes', function () {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user