© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•3y ago•
5 replies
jaocero

How to test a simple resource CRUD functionality?

I read the documentation but I can't find any sample how to test the simple resource? In the docs all you need to is to call
CreatePost::class
CreatePost::class
from resource page but in the simple resource all you can see is a
ManagePost::class
ManagePost::class
. How do I test it?

Below code is my test:
it('can create apps', function () {
    $mailchimp = App::factory()->make([
        'name' => Constant::MAILCHIMP,
        'app_code' => Constant::APP_CODE[Constant::MAILCHIMP],
    ]);

    livewire(ManageApps::class)
        ->fillForm([
            'name' => $mailchimp->name,
            'app_code' => $mailchimp->app_code,
            'description' => $mailchimp->description,
            'is_active' => $mailchimp->is_active
        ])
        ->call('create')
        ->assertHasNoFormErrors();

    $this->assertDatabaseHas(App::class, [
        'title' => $mailchimp->name,
        'app_code' => $mailchimp->app_code,
        'description' => $mailchimp->description,
        'is_active' => $mailchimp->is_active
    ]);
});
it('can create apps', function () {
    $mailchimp = App::factory()->make([
        'name' => Constant::MAILCHIMP,
        'app_code' => Constant::APP_CODE[Constant::MAILCHIMP],
    ]);

    livewire(ManageApps::class)
        ->fillForm([
            'name' => $mailchimp->name,
            'app_code' => $mailchimp->app_code,
            'description' => $mailchimp->description,
            'is_active' => $mailchimp->is_active
        ])
        ->call('create')
        ->assertHasNoFormErrors();

    $this->assertDatabaseHas(App::class, [
        'title' => $mailchimp->name,
        'app_code' => $mailchimp->app_code,
        'description' => $mailchimp->description,
        'is_active' => $mailchimp->is_active
    ]);
});
Solution
Hi ! This is my code for testing simple resource :
it('can create a new origin', function(){
    $newData = AccountOrigin::factory()->make();
    livewire(AccountOriginResource\Pages\ManageAccountOrigins::class)
    ->mountAction('create')
    ->setActionData([
        'name' => $newData->name,
        'description' => $newData->description,
    ])
    ->callMountedAction();

    $this->assertDatabaseHas(AccountOrigin::class, [
        'name' => $newData->name,
        'description' => $newData->description,
    ]);
}); 
it('can create a new origin', function(){
    $newData = AccountOrigin::factory()->make();
    livewire(AccountOriginResource\Pages\ManageAccountOrigins::class)
    ->mountAction('create')
    ->setActionData([
        'name' => $newData->name,
        'description' => $newData->description,
    ])
    ->callMountedAction();

    $this->assertDatabaseHas(AccountOrigin::class, [
        'name' => $newData->name,
        'description' => $newData->description,
    ]);
}); 
Jump to solution
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

test `--simple` resource crud
FilamentFFilament / ❓┊help
15mo ago
How test resource flag --simple
FilamentFFilament / ❓┊help
2y ago
How can I test a form from a modal? (simple resource)
FilamentFFilament / ❓┊help
2y ago
how to mutateFormDataBeforeCreate inside simple resource?
FilamentFFilament / ❓┊help
2y ago