actingAs($user); $tenant->makeCurrent(); Filament::setTenant($tenant, true); $profile = BaselineProfile::factory()->active()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'scope_jsonb' => ['policy_types' => ['deviceConfiguration'], 'foundation_types' => []], ]); $snapshot = BaselineSnapshot::factory()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'baseline_profile_id' => (int) $profile->getKey(), ]); $profile->update(['active_snapshot_id' => (int) $snapshot->getKey()]); BaselineTenantAssignment::factory()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'tenant_id' => (int) $tenant->getKey(), 'baseline_profile_id' => (int) $profile->getKey(), ]); $displayName = 'Duplicate Policy'; $inventorySyncRun = createInventorySyncOperationRunWithCoverage( tenant: $tenant, statusByType: ['deviceConfiguration' => 'succeeded'], ); InventoryItem::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'workspace_id' => (int) $tenant->workspace_id, 'external_id' => 'dup-1', 'policy_type' => 'deviceConfiguration', 'display_name' => $displayName, 'last_seen_operation_run_id' => (int) $inventorySyncRun->getKey(), 'last_seen_at' => now(), ]); InventoryItem::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'workspace_id' => (int) $tenant->workspace_id, 'external_id' => 'dup-2', 'policy_type' => 'deviceConfiguration', 'display_name' => $displayName, 'last_seen_operation_run_id' => (int) $inventorySyncRun->getKey(), 'last_seen_at' => now(), ]); Livewire::test(BaselineCompareLanding::class) ->assertSee(__('baseline-compare.duplicate_warning_title')) ->assertSee('share the same display name') ->assertSee('cannot match them to the baseline'); }); it('does not show the duplicate-name warning for stale rows outside the latest inventory sync', function (): void { [$user, $tenant] = createUserWithTenant(role: 'owner'); $this->actingAs($user); $tenant->makeCurrent(); Filament::setTenant($tenant, true); $profile = BaselineProfile::factory()->active()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'scope_jsonb' => ['policy_types' => ['deviceConfiguration'], 'foundation_types' => []], ]); $snapshot = BaselineSnapshot::factory()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'baseline_profile_id' => (int) $profile->getKey(), ]); $profile->update(['active_snapshot_id' => (int) $snapshot->getKey()]); BaselineTenantAssignment::factory()->create([ 'workspace_id' => (int) $tenant->workspace_id, 'tenant_id' => (int) $tenant->getKey(), 'baseline_profile_id' => (int) $profile->getKey(), ]); $olderInventoryRun = createInventorySyncOperationRunWithCoverage( tenant: $tenant, statusByType: ['deviceConfiguration' => 'succeeded'], attributes: [ 'completed_at' => now()->subMinutes(10), 'finished_at' => now()->subMinutes(10), ], ); $latestInventoryRun = createInventorySyncOperationRunWithCoverage( tenant: $tenant, statusByType: ['deviceConfiguration' => 'succeeded'], attributes: [ 'completed_at' => now(), 'finished_at' => now(), ], ); InventoryItem::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'workspace_id' => (int) $tenant->workspace_id, 'external_id' => 'stale-duplicate', 'policy_type' => 'deviceConfiguration', 'display_name' => 'Standard', 'last_seen_operation_run_id' => (int) $olderInventoryRun->getKey(), 'last_seen_at' => now()->subMinutes(10), ]); InventoryItem::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'workspace_id' => (int) $tenant->workspace_id, 'external_id' => 'current-standard', 'policy_type' => 'deviceConfiguration', 'display_name' => 'Standard', 'last_seen_operation_run_id' => (int) $latestInventoryRun->getKey(), 'last_seen_at' => now(), ]); InventoryItem::factory()->create([ 'tenant_id' => (int) $tenant->getKey(), 'workspace_id' => (int) $tenant->workspace_id, 'external_id' => 'current-unique', 'policy_type' => 'deviceConfiguration', 'display_name' => 'Unique Policy', 'last_seen_operation_run_id' => (int) $latestInventoryRun->getKey(), 'last_seen_at' => now(), ]); Livewire::test(BaselineCompareLanding::class) ->assertDontSee(__('baseline-compare.duplicate_warning_title')) ->assertDontSee('share the same display name') ->assertDontSee('cannot match them to the baseline'); });