innoge / filament-form-faker
A package to generate fake input data for Filament forms.
Installs: 1 505
Dependents: 0
Suggesters: 0
Security: 0
Stars: 16
Watchers: 1
Forks: 2
Open Issues: 3
Requires
- php: ^8.1
- filament/forms: ^3.0
- illuminate/contracts: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8|^8.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.17|^9.0
- pestphp/pest: ^2.28
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-10-29 10:54:13 UTC
README
The Filament Form Faker is a utility package designed for generating fake input data in Filament v3 forms. It's ideal for streamlining the development of extensive forms and conducting thorough form testing.
Note
This package is not recommended for production use and should be limited to development and testing scenarios.
This package is currently in its Beta phase. Your participation in testing and feedback through issue reporting is highly appreciated.
Installation
You can install the package via composer:
composer require innoge/filament-form-faker --dev
Filament Panel Usage
To autofill forms with fake data in Filament Record Pages, use
the InnoGE\FilamentFormFaker\Traits\FillsFormWithFakeData
trait. Below is an example for
the CreateUser of the UserResource page:
<?php namespace App\Filament\Resources\UserResource\Pages; use App\Filament\Resources\UserResource; use Filament\Resources\Pages\CreateRecord; use InnoGE\FilamentFormFaker\Traits\FillsFormWithFakeData; class CreateUser extends CreateRecord { use FillsFormWithFakeData; protected static string $resource = UserResource::class; }
By default, forms are filled with fake data only in local or testing environments. This behavior can be customized by
overriding the shouldFillFormWithFakeData
method in your Page Component.
protected function shouldFillFormWithFakeData(): bool { // insert your custom logic here }
Standalone Usage
When you are using Filament/Forms
outside of the Panel Builder you can use the fake()
method on your Form instance to
fill your form with fake data. We recommend using this method in your mount
method.
public function mount() { $this->getForm('form')->fake(); // or $this->form->fake(); }
Supported Field Types
Currently, we support the following field types:
- Builder
- Checkbox
- CheckboxList
- KeyValue
- Option
- Repeater
- Select
- Textarea
- TextInput
If you want to add support for other field types please create an issue or a pull request.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.