mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-08 00:02:15 +01:00
fix inertia backend role data structure after jetstream migration
This commit is contained in:
committed by
Constantin Graf
parent
e3e45161a1
commit
0cc8d762a5
@@ -2,13 +2,13 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Enums\Role;
|
||||
use App\Http\Controllers\Web\DashboardController;
|
||||
use App\Http\Controllers\Web\HomeController;
|
||||
use App\Http\Controllers\Web\OrganizationController;
|
||||
use App\Http\Controllers\Web\OrganizationInvitationController;
|
||||
use App\Http\Controllers\Web\UserController;
|
||||
use App\Http\Controllers\Web\UserProfileController;
|
||||
use App\Service\PermissionStore;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Inertia\Inertia;
|
||||
@@ -74,7 +74,14 @@ Route::middleware([
|
||||
|
||||
Route::get('/members', function () {
|
||||
return Inertia::render('Members', [
|
||||
'availableRoles' => Role::values(),
|
||||
'availableRoles' => collect(PermissionStore::roleDefinitions())
|
||||
->map(fn (array $definition, string $key): array => [
|
||||
'key' => $key,
|
||||
'name' => $definition['name'],
|
||||
'description' => $definition['description'],
|
||||
])
|
||||
->values()
|
||||
->all(),
|
||||
]);
|
||||
})->name('members');
|
||||
|
||||
|
||||
35
tests/Unit/Endpoint/Web/MembersEndpointTest.php
Normal file
35
tests/Unit/Endpoint/Web/MembersEndpointTest.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\Unit\Endpoint\Web;
|
||||
|
||||
use Inertia\Testing\AssertableInertia as Assert;
|
||||
|
||||
class MembersEndpointTest extends EndpointTestAbstract
|
||||
{
|
||||
public function test_members_passes_available_roles_as_objects_with_key_name_and_description(): void
|
||||
{
|
||||
// Arrange
|
||||
$data = $this->createUserWithPermission([
|
||||
'members:view',
|
||||
]);
|
||||
$this->actingAs($data->user);
|
||||
|
||||
// Act
|
||||
$response = $this->get(route('members'));
|
||||
|
||||
// Assert
|
||||
$response->assertOk();
|
||||
$response->assertInertia(fn (Assert $page) => $page
|
||||
->component('Members')
|
||||
->has('availableRoles', 5, fn (Assert $role) => $role
|
||||
->has('key')
|
||||
->has('name')
|
||||
->has('description')
|
||||
)
|
||||
->where('availableRoles.0.key', 'owner')
|
||||
->where('availableRoles.0.name', 'Owner')
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user