seed(RolesAndPermissionsSeeder::class); $admin = User::factory()->create(['is_active' => true]); $admin->assignRole('admin'); $this->actingAs($admin) ->get(route('admin.presets.index')) ->assertSuccessful() ->assertSee('Voreinstellungen'); }); test('admin can create a preset', function () { /** @var TestCase $this */ $this->seed(RolesAndPermissionsSeeder::class); $admin = User::factory()->create(['is_active' => true]); $admin->assignRole('admin'); $this->actingAs($admin); LivewireVolt::test('admin.presets.create') ->set('key', 'press_releases.test_text') ->set('area', 'press_releases') ->set('type', 'text') ->set('label', 'Test Text') ->set('value', 'Ein Preset Text') ->set('payload', '{"source":"test"}') ->call('save') ->assertHasNoErrors() ->assertRedirect(route('admin.presets.index')); $this->assertDatabaseHas('admin_presets', [ 'key' => 'press_releases.test_text', 'area' => 'press_releases', 'type' => 'text', 'label' => 'Test Text', 'value' => 'Ein Preset Text', ]); }); test('admin can edit a preset', function () { /** @var TestCase $this */ $this->seed(RolesAndPermissionsSeeder::class); $admin = User::factory()->create(['is_active' => true]); $admin->assignRole('admin'); $this->actingAs($admin); $preset = AdminPreset::factory()->create([ 'key' => 'press_releases.edit_text', 'area' => 'press_releases', 'label' => 'Alter Text', 'value' => 'Alt', ]); LivewireVolt::test('admin.presets.edit', ['id' => $preset->id]) ->set('label', 'Neuer Text') ->set('value', 'Neu') ->set('isActive', false) ->call('save') ->assertHasNoErrors() ->assertRedirect(route('admin.presets.index')); $preset->refresh(); expect($preset->label)->toBe('Neuer Text') ->and($preset->value)->toBe('Neu') ->and($preset->is_active)->toBeFalse(); });