mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
update action testing documentation to include testing modals
This commit is contained in:
@@ -86,6 +86,25 @@ it('stops sending if invoice has no email address', function () {
|
||||
});
|
||||
```
|
||||
|
||||
## Testing modal content
|
||||
|
||||
To assert against the content of a modal, you should first mount the action (rather than call it which resolves the modal). You can then use [livewire assertions](https://livewire.laravel.com/docs/testing#assertions) such as `assertSee` to assert the modal has rendered as you expect:
|
||||
|
||||
```php
|
||||
use function Pest\Livewire\livewire;
|
||||
|
||||
it('confirms the target address before sending', function () {
|
||||
$invoice = Invoice::factory()->create();
|
||||
$recipientEmail = $invoice->company->primaryContact->email;
|
||||
|
||||
livewire(EditInvoice::class, [
|
||||
'invoice' => $invoice,
|
||||
])
|
||||
->mountAction('send')
|
||||
->assertSee($recipientEmail);
|
||||
});
|
||||
```
|
||||
|
||||
## Errors
|
||||
|
||||
`assertHasNoActionErrors()` is used to assert that no validation errors occurred when submitting the action form.
|
||||
@@ -126,7 +145,7 @@ it('can send invoices to the primary contact by default', function () {
|
||||
])
|
||||
->callMountedAction()
|
||||
->assertHasNoActionErrors();
|
||||
|
||||
|
||||
expect($invoice->refresh())
|
||||
->isSent()->toBeTrue()
|
||||
->recipient_email->toBe($recipientEmail);
|
||||
|
||||
Reference in New Issue
Block a user