Toolverse
All skills

developing-with-turbo-tests

by hotwired-laravel

Basics of testing out Turbo-specific aspects of web applications. Activate when working on projects that utilize Turbo for testing specific Turbo Frames, Turbo Streams, or Turbo Native behavior.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Category
Testing

About this skill

Basics of testing out Turbo-specific aspects of web applications. Activate when working on projects that utilize Turbo for testing specific Turbo Frames, Turbo Streams, or Turbo Native behavior.

How to use

  1. Dodaj trait InteractsWithTurbo do klasy testowej lub bazowej TestCase — importuj HotwiredLaravel\TurboLaravel\Testing\InteractsWithTurbo i umieść use InteractsWithTurbo; w ciele klasy.

  2. Symuluj żądania Turbo Stream za pomocą $this->turbo()->post(), $this->turbo()->put() lub $this->turbo()->delete() — metoda turbo() ustawia odpowiedni nagłówek Accept dla Turbo Stream.

  3. Symuluj żądania z konkretnego Turbo Frame używając $this->fromTurboFrame('frame-id')->get() — przydatne do testowania odpowiedzi dla poszczególnych framów.

  4. Asertuj odpowiedzi Turbo Stream za pomocą ->assertTurboStream() po żądaniu — możesz też użyć assertNotTurboStream() do weryfikacji, że odpowiedź nie jest Turbo Stream.

  5. Testuj broadcasty poprzez TurboStream::fake(), a następnie assertBroadcasted(), assertNothingWasBroadcasted() lub assertBroadcastedTimes() — konfiguracja turbo-laravel.queue jest automatycznie ustawiana na false podczas testów.

  6. Dla żądań Turbo Native użyj $this->hotwireNative() zamiast turbo() — pozwala testować zachowanie aplikacji na urządzeniach mobilnych.

Related skills