actingAs($user); Filament::setTenant($tenant, true); $run = OperationRun::factory()->create([ 'tenant_id' => $tenant->getKey(), 'user_id' => $user->getKey(), 'initiator_name' => $user->name, 'type' => 'inventory.sync', 'status' => 'queued', 'outcome' => 'pending', 'context' => ['scope' => 'all'], ]); /** @var OperationRunService $service */ $service = app(OperationRunService::class); $service->updateRun( $run, status: 'completed', outcome: 'succeeded', summaryCounts: [ 'total' => '10', 'processed' => 5.2, 'failed' => 'nope', 'secrets' => 123, ], failures: [], ); $notification = $user->notifications()->latest('id')->first(); expect($notification)->not->toBeNull(); $body = (string) ($notification->data['body'] ?? ''); expect($body)->toContain('Summary:'); expect($body)->toContain('total: 10'); expect($body)->toContain('processed: 5'); expect($body)->not->toContain('secrets'); expect($body)->not->toContain('failed:'); })->group('ops-ux');