NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Pomocné metódy sú obyčajné statické a inštančné metódy, takže testovanie vašich enumov nepotrebuje žiadne fakes. Niekoľko vzorov, ktoré sa oplatí prevziať:

use App\Enums\NewsCategory;
use Illuminate\Support\Facades\Lang;

it('labels every category', function () {
    expect(NewsCategory::labels()->all())
        ->toBe(['Hot News', 'Regular News', 'Private News']);
});

it('keeps the validation rule in sync with the cases', function () {
    expect(NewsCategory::validationRule())
        ->toBe('in:hot-news,regular-news,private-news');
});

it('uses the translated label', function () {
    Lang::addLines(['*.Hot News' => 'Breaking'], 'en', '*');

    expect(NewsCategory::HotNews->label())->toBe('Breaking');
});

it('picks a real case at random', function () {
    expect(NewsCategory::cases())->toContain(NewsCategory::random());
});

it('rejects an unknown category', function () {
    $this->postJson('/articles', ['title' => 'Launch day', 'category' => 'breaking-news'])
        ->assertJsonValidationErrors('category');
});

random() je náhodná zo svojej podstaty — overujte príslušnosť do cases(), nie konkrétny prípad. Overenia popisov idú cez prekladač, takže preložené popisy otestujete pridaním riadkov cez Lang::addLines() (JSON riadky používajú skupinu *).

Testy samotného balíka

Prispievatelia spúšťajú testy v Peste a statickú analýzu z koreňa balíka:

composer test
composer analyse

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.