diff --git a/resources/views/fields/select.blade.php b/resources/views/fields/select.blade.php
index f1e41c2156..4b3fc0ef88 100644
--- a/resources/views/fields/select.blade.php
+++ b/resources/views/fields/select.blade.php
@@ -1,20 +1,22 @@
@component($typeForm, get_defined_vars())
+
diff --git a/tests/App/ExemplarServiceProvider.php b/tests/App/ExemplarServiceProvider.php
index 84b1017ac8..b0916bfbf8 100644
--- a/tests/App/ExemplarServiceProvider.php
+++ b/tests/App/ExemplarServiceProvider.php
@@ -8,6 +8,7 @@
use Illuminate\Support\ServiceProvider;
use Orchid\Platform\Dashboard;
use Orchid\Tests\App\Fields\BaseSelectScreen;
+use Orchid\Tests\App\Fields\SelectFromEnumFieldScreen;
use Orchid\Tests\App\Screens\AsyncHeaderButtonActionScreen;
use Orchid\Tests\App\Screens\ConfirmScreen;
use Orchid\Tests\App\Screens\DependentListenerModalScreen;
@@ -53,6 +54,7 @@ public function boot(Dashboard $dashboard, Router $router): void
// Fields
$route->screen('fields/base-select-screen', BaseSelectScreen::class)->name('base-select-screen');
+ $route->screen('fields/select-from-enum-field-screen', SelectFromEnumFieldScreen::class)->name('select-from-enum-field-screen');
//issue 2517
$route->screen('item/{parentId}/addChild', ItemAddChildScreen::class)->name('item.addchild');
diff --git a/tests/App/Fields/SelectFromEnumFieldScreen.php b/tests/App/Fields/SelectFromEnumFieldScreen.php
new file mode 100644
index 0000000000..b5f982facf
--- /dev/null
+++ b/tests/App/Fields/SelectFromEnumFieldScreen.php
@@ -0,0 +1,37 @@
+ Role::find(1),
+ ];
+ }
+
+ /**
+ * @throws \Illuminate\Contracts\Container\BindingResolutionException
+ */
+ public function fields(): array
+ {
+ return [
+ Select::make('item.name')
+ ->options([
+ 'admin' => 'Admin',
+ 'user' => 'User',
+ ]),
+
+ ];
+ }
+}
diff --git a/tests/Database/Factory/RoleFactory.php b/tests/Database/Factory/RoleFactory.php
deleted file mode 100644
index 341352beb7..0000000000
--- a/tests/Database/Factory/RoleFactory.php
+++ /dev/null
@@ -1,53 +0,0 @@
- [
- 'platform.index' => 1,
- 'platform.systems' => 1,
- 'platform.systems.roles' => 1,
- 'platform.systems.settings' => 1,
- 'platform.systems.users' => 1,
- 'platform.systems.attachment' => 1,
- 'platform.systems.media' => 1,
- ],
- $role[1] => [
- 'platform.index' => 1,
- 'platform.systems' => 1,
- 'platform.systems.settings' => 1,
- 'platform.systems.comment' => 1,
- 'platform.systems.attachment' => 1,
- 'platform.systems.media' => 1,
- ],
- ];
-
- $selRole = $this->faker->randomElement($role);
-
- return [
- 'name' => $this->faker->lexify($selRole.'_???'),
- 'slug' => $this->faker->unique()->jobTitle,
- 'permissions' => $roles[$selRole],
- ];
- }
-}
diff --git a/tests/Feature/Platform/SelectFromEnumFieldTest.php b/tests/Feature/Platform/SelectFromEnumFieldTest.php
new file mode 100644
index 0000000000..8bb132ea88
--- /dev/null
+++ b/tests/Feature/Platform/SelectFromEnumFieldTest.php
@@ -0,0 +1,34 @@
+create([
+ 'name' => RoleNames::Admin->value,
+ ]);
+ $this->role = RoleWithEnum::find(1);
+ }
+
+ public function testBase(): void
+ {
+ $this
+ ->actingAs($this->createAdminUser())
+ ->get(route('test.select-from-enum-field-screen'))
+ ->assertSuccessful()
+ ->assertSee(RoleNames::Admin->name);
+ }
+}