create(); $this->actingAs($user); expect(TenantResource::canCreate())->toBeFalse(); }); it('can be created by managers (TENANT_MANAGE)', function () { [$user] = createUserWithTenant(role: 'manager'); $this->actingAs($user); expect(TenantResource::canCreate())->toBeTrue(); }); it('can be edited by managers (TENANT_MANAGE)', function () { [$user, $tenant] = createUserWithTenant(role: 'manager'); $this->actingAs($user); expect(TenantResource::canEdit($tenant))->toBeTrue(); }); it('cannot be deleted by managers (TENANT_DELETE)', function () { [$user, $tenant] = createUserWithTenant(role: 'manager'); $this->actingAs($user); expect(TenantResource::canDelete($tenant))->toBeFalse(); }); it('can be deleted by owners (TENANT_DELETE)', function () { [$user, $tenant] = createUserWithTenant(role: 'owner'); $this->actingAs($user); expect(TenantResource::canDelete($tenant))->toBeTrue(); }); it('cannot edit tenants it cannot access', function () { [$user] = createUserWithTenant(role: 'manager'); $otherTenant = Tenant::factory()->create(); $this->actingAs($user); expect(TenantResource::canEdit($otherTenant))->toBeFalse(); }); });