我想在我的統計模型中測驗我的范圍 --->
class Statistic extends Model
{
use HasTranslations;
use HasFactory;
public $translatable = ['country'];
protected $guarded = ['id'];
public function scopeFilter($query, array $filters): Builder
{
return $query->when($filters['search'] ?? false, fn ($query, $search) => $query-
>where(DB::raw('lower(country)'), 'like', '%' . strtolower($search) . '%'));
}
}
我該如何組織這個?
如何為此正確撰寫功能測驗?
uj5u.com熱心網友回復:
那這個呢:
class StatisticScopesTest extends TestCase
{
/** @test */
public function is_has_a_scope_filter()
{
$this->assertEquals(0, Statistic::count());
$this->assertEquals(0, Statistic::filter(['search' => 'PT'])->count());
Statistic::factory()->create(['country' => 'PT']);
$this->assertEquals(1, Statistic::count());
$this->assertEquals(1, Statistic::filter(['search' => 'PT'])->count());
$this->assertEquals(0, Statistic::filter(['search' => 'EN'])->count());
}
}
- 空殼的 2 個斷言
- 在進入一個國家/地區時創建
- 一個條目的案例的 3 個斷言
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/485950.html
上一篇:Laravel9和Livewire2多個storeAs方法拋出“在null上呼叫成員函式storeAs()”錯誤
