env('INTUNE_TENANT_ID', 'local-tenant'), 'name' => 'Tenant One', 'metadata' => [], 'is_current' => true, ]); putenv('INTUNE_TENANT_ID='.$tenant->tenant_id); $tenant->makeCurrent(); $policy = Policy::create([ 'tenant_id' => $tenant->id, 'external_id' => 'policy-1', 'policy_type' => 'appProtectionPolicy', 'display_name' => 'Teams', 'platform' => 'mobile', ]); PolicyVersion::create([ 'tenant_id' => $tenant->id, 'policy_id' => $policy->id, 'version_number' => 1, 'policy_type' => $policy->policy_type, 'platform' => $policy->platform, 'created_by' => 'tester@example.com', 'captured_at' => CarbonImmutable::now(), 'snapshot' => [ '@odata.type' => '#microsoft.graph.androidManagedAppProtection', 'displayName' => 'Teams', 'dataBackupBlocked' => false, 'pinRequired' => true, 'periodOnlineBeforeAccessCheck' => 'PT30M', ], ]); $user = User::factory()->create(); $response = $this->actingAs($user) ->get(PolicyResource::getUrl('view', ['record' => $policy])); $response->assertOk(); $response->assertSee('Data Protection'); $response->assertSee('Prevent backups'); $response->assertSee('Allowed'); $response->assertSee('Platform'); $response->assertSee('Android'); $response->assertSee('Access Requirements'); $response->assertSee('PIN for access'); $response->assertSee('Required'); $response->assertSee('Recheck access requirements after'); $response->assertSee('30 minutes'); });