19 lines
585 B
PHP
19 lines
585 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Models\User;
|
|
use App\Models\Workspace;
|
|
use App\Models\WorkspaceMembership;
|
|
use Illuminate\Database\QueryException;
|
|
|
|
it('enforces unique workspace membership per (workspace_id, user_id)', function () {
|
|
$user = User::factory()->create();
|
|
$workspace = Workspace::factory()->create();
|
|
|
|
WorkspaceMembership::factory()->for($workspace)->for($user)->create(['role' => 'owner']);
|
|
|
|
expect(fn () => WorkspaceMembership::factory()->for($workspace)->for($user)->create(['role' => 'operator']))
|
|
->toThrow(QueryException::class);
|
|
});
|