added tests for blogPost

This commit is contained in:
2024-01-10 13:41:43 +03:00
parent d96954f4b4
commit 93ca684f67
22 changed files with 548 additions and 28 deletions

View File

@@ -4,11 +4,12 @@ namespace App\Models;
use CyrildeWit\EloquentViewable\Contracts\Viewable;
use CyrildeWit\EloquentViewable\InteractsWithViews;
/* use Illuminate\Database\Eloquent\Builder; */
use Illuminate\Database\Eloquent\Factories\HasFactory;
/* use Illuminate\Database\Eloquent\Casts\Attribute; */
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphToMany;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Str;
/**
* App\Models\BlogPost
@@ -61,7 +62,7 @@ class BlogPost extends Model implements Viewable
'comments',
];
public function tags()
public function tags(): MorphToMany
{
return $this->morphToMany(Tag::class, 'taggable');
}
@@ -79,7 +80,7 @@ class BlogPost extends Model implements Viewable
);
}
public function comments()
public function comments(): HasMany
{
return $this->hasMany(BlogPostComment::class);
}
@@ -109,12 +110,12 @@ class BlogPost extends Model implements Viewable
return false;
}
public function scopeNoEagerLoads($query)
public function scopeNoEagerLoads(Builder $query): Builder
{
return $query->setEagerLoads([]);
}
public function scopeContainsTag($query, $tagString): Builder
public function scopeContainsTag(Builder $query, string $tagString): Builder
{
$tagId = Str::of($tagString)->split('/-/')->first();