---
title: "Testovanie — Enums for Laravel | Roundly"
description: "Overte popisy, možnosti a validáciu v Peste, skontrolujte preklady cez untranslated(), pridajte riadky cez Lang::addLines() a spustite testy balíka."
url: https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel/testovanie
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Enums for Laravel](https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel.md)

# Testovanie

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ť:

```php
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 \*).

## Žiadny nepreložený prípad

Na enume s #\[TranslatedLabels\] vypíše untranslated() prípady, ktorým v danom jazyku ešte chýba riadok, takže jeden test s datasetom pokryje všetky jazyky, ktoré nasadzujete:

```php
it('translates every order status', function (string $locale) {
    expect(OrderStatus::untranslated($locale))->toBeEmpty();
})->with(['en', 'sk']);
```

## Testy samotného balíka

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

```bash
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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel.md)
