mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-14 19:22:14 +01:00
fix inertia backend role data structure after jetstream migration
This commit is contained in:
committed by
Constantin Graf
parent
6c0041d249
commit
ed037d40a1
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
use App\Enums\Role;
|
|
||||||
use App\Http\Controllers\Web\DashboardController;
|
use App\Http\Controllers\Web\DashboardController;
|
||||||
use App\Http\Controllers\Web\HomeController;
|
use App\Http\Controllers\Web\HomeController;
|
||||||
use App\Http\Controllers\Web\OrganizationController;
|
use App\Http\Controllers\Web\OrganizationController;
|
||||||
use App\Http\Controllers\Web\OrganizationInvitationController;
|
use App\Http\Controllers\Web\OrganizationInvitationController;
|
||||||
use App\Http\Controllers\Web\UserController;
|
use App\Http\Controllers\Web\UserController;
|
||||||
use App\Http\Controllers\Web\UserProfileController;
|
use App\Http\Controllers\Web\UserProfileController;
|
||||||
|
use App\Service\PermissionStore;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use Inertia\Inertia;
|
use Inertia\Inertia;
|
||||||
@@ -74,7 +74,14 @@ Route::middleware([
|
|||||||
|
|
||||||
Route::get('/members', function () {
|
Route::get('/members', function () {
|
||||||
return Inertia::render('Members', [
|
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');
|
})->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