TenantAtlas/apps/platform/tests/Feature/DirectoryGroups/NoLiveGraphOnRenderTest.php
ahmido b159dacd36 feat: clean up legacy tenant environment context (#372)
## Summary
- remove legacy tenant-scoped routing and middleware paths in favor of the current environment/workspace context flow
- update Filament pages and resources to use the cleaned-up admin surface and environment filter context
- add the related spec 317 artifacts and targeted tests for environment filter state and legacy context cleanup

## Testing
- not run as part of this commit/push/PR workflow

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #372
2026-05-16 18:25:36 +00:00

64 lines
2.1 KiB
PHP

<?php
use App\Filament\Resources\PolicyVersionResource;
use App\Models\ManagedEnvironment;
use App\Models\Policy;
use App\Models\PolicyVersion;
use App\Models\User;
use App\Services\Graph\GraphClientInterface;
use App\Support\Workspaces\WorkspaceContext;
use function Pest\Laravel\mock;
beforeEach(function () {
putenv('INTUNE_TENANT_ID');
unset($_ENV['INTUNE_TENANT_ID'], $_SERVER['INTUNE_TENANT_ID']);
$this->tenant = ManagedEnvironment::factory()->create();
$this->policy = Policy::factory()->create([
'managed_environment_id' => $this->tenant->id,
]);
$this->user = User::factory()->create();
[$this->user, $this->tenant] = createUserWithTenant(tenant: $this->tenant, user: $this->user, role: 'owner', fixtureProfile: 'credential-enabled');
});
it('renders policy version view without any Graph calls during render', function () {
mock(GraphClientInterface::class)
->shouldNotReceive('listPolicies')
->shouldNotReceive('getPolicy')
->shouldNotReceive('getOrganization')
->shouldNotReceive('applyPolicy')
->shouldNotReceive('getServicePrincipalPermissions')
->shouldNotReceive('request');
$version = PolicyVersion::factory()->create([
'managed_environment_id' => $this->tenant->id,
'policy_id' => $this->policy->id,
'version_number' => 1,
'assignments' => [
[
'id' => 'assignment-1',
'intent' => 'apply',
'target' => [
'@odata.type' => '#microsoft.graph.groupAssignmentTarget',
'groupId' => 'group-123',
],
],
],
]);
$this->actingAs($this->user);
$response = $this
->withSession([
WorkspaceContext::SESSION_KEY => (int) $this->tenant->workspace_id,
WorkspaceContext::LAST_ENVIRONMENT_IDS_SESSION_KEY => [
(string) $this->tenant->workspace_id => (int) $this->tenant->getKey(),
],
])
->get(PolicyVersionResource::getUrl('view', ['record' => $version], panel: 'admin', tenant: $this->tenant));
$response->assertOk();
});