'developer', 'display_name' => 'Developer']); $developer = User::factory()->create(); $developer->addRole($devRole); FeatureFlag::create([ 'name' => 'FeatureFlagAdmin', 'label' => 'Feature flag admin felület', 'enabled' => true, 'stages' => null, 'roles' => ['developer'], ]); FeatureFlag::create([ 'name' => 'ui-test-flag', 'label' => 'UI teszt flag', 'enabled' => true, 'stages' => ['TEST'], 'roles' => ['developer'], ]); app(FeatureFlagRegistrar::class)->registerAll(); $this->actingAs($developer); Livewire::test(ListFeatureFlags::class) ->assertSuccessful(); }); test('csak a FeatureFlagAdmin flaggel rendelkező szerepkör éri el a feature flag admin felületet', function () { $adminRole = Role::create(['name' => 'admin', 'display_name' => 'Admin']); $devRole = Role::create(['name' => 'developer', 'display_name' => 'Developer']); $admin = User::factory()->create(); $admin->addRole($adminRole); $developer = User::factory()->create(); $developer->addRole($devRole); FeatureFlag::create([ 'name' => 'FeatureFlagAdmin', 'label' => 'Feature flag admin felület', 'enabled' => true, 'stages' => null, 'roles' => ['developer'], ]); app(FeatureFlagRegistrar::class)->registerAll(); expect(Gate::forUser($admin)->allows('viewAny', FeatureFlag::class))->toBeFalse(); expect(Gate::forUser($developer)->allows('viewAny', FeatureFlag::class))->toBeTrue(); $this->actingAs($admin); $this->get(FeatureFlagResource::getUrl())->assertForbidden(); $this->actingAs($developer); $this->get(FeatureFlagResource::getUrl())->assertSuccessful(); });