toHaveCount(1); }); it('sends one new-device mail per sign-in, not two', function () { // Der Test, der wirklich zählt: nicht wie oft etwas registriert ist, // sondern wie oft der Kunde etwas bekommt. Mail::fake(); $user = User::factory()->create(); // Erste Anmeldung überhaupt: die warnt bewusst nicht (siehe // DeviceRecognition — jemandem das Gerät zu melden, mit dem er sich gerade // anmeldet, ist keine Warnung). Event::dispatch(new Login('web', $user, false)); Mail::assertNothingQueued(); // Zweite Anmeldung, neues Gerät: genau EINE Mail. request()->cookies->remove('clupilot_device'); Event::dispatch(new Login('web', $user, false)); Mail::assertQueued(NewDeviceSignInMail::class, 1); });