create(); $user = User::factory()->create(['tenant_id' => $tenant->id]); $service = app(NotificationService::class); $service->notifyInApp($user, 'new_lead', 'Срок касания', 'Перезвонить клиенту через 30 мин', ['deal_id' => 42]); // 🔴 Ищем СВОЮ запись, а не первую попавшуюся в таблице. Раньше здесь стояло // ->first() без отбора: в общем прогоне тест подхватывал чужое уведомление, // оставшееся от соседа, и падал с «ждали new_lead, получили ad_moderation» — // при полностью исправном коде. Замер 01.08.2026. $notif = InAppNotification::query()->where('user_id', $user->id)->first(); expect($notif)->not->toBeNull(); expect($notif->event)->toBe('new_lead'); expect($notif->title)->toBe('Срок касания'); expect($notif->body)->toBe('Перезвонить клиенту через 30 мин'); expect($notif->deal_id)->toBe(42); expect($notif->payload['deal_id'])->toBe(42); });