TenantAtlas/tests/Feature/TenantOnboardingSessionTest.php
2026-02-01 12:20:09 +01:00

33 lines
937 B
PHP

<?php
use App\Models\Tenant;
use App\Models\TenantOnboardingSession;
use App\Models\User;
use Illuminate\Database\QueryException;
it('casts payload as array', function () {
$session = TenantOnboardingSession::factory()->create([
'payload' => ['step' => 'welcome'],
]);
expect($session->payload)->toBeArray();
expect($session->payload['step'])->toBe('welcome');
});
it('enforces a single active onboarding session per tenant', function () {
$tenant = Tenant::factory()->create();
$user = User::factory()->create();
TenantOnboardingSession::factory()->create([
'tenant_id' => $tenant->id,
'created_by_user_id' => $user->id,
'status' => 'active',
]);
expect(fn () => TenantOnboardingSession::factory()->create([
'tenant_id' => $tenant->id,
'created_by_user_id' => $user->id,
'status' => 'active',
]))->toThrow(QueryException::class);
});