$concert->id, 'subject' => 'My subject', 'message' => 'My message', ]); $orderA = OrderFactory::createForConcert($concert, ['email' => 'alex@example.com']); $otherOrder = OrderFactory::createForConcert($otherConcert, ['email' => 'jane@example.com']); $orderB = OrderFactory::createForConcert($concert, ['email' => 'sam@example.com']); $orderC = OrderFactory::createForConcert($concert, ['email' => 'taylor@example.com']); SendAttendeeMessage::dispatch($message); Mail::assertQueued(AttendeeMessageEmail::class, function ($mail) use ($message) { return $mail->hasTo('alex@example.com') && $mail->attendeeMessage->is($message); }); Mail::assertQueued(AttendeeMessageEmail::class, function ($mail) use ($message) { return $mail->hasTo('sam@example.com') && $mail->attendeeMessage->is($message); }); Mail::assertQueued(AttendeeMessageEmail::class, function ($mail) use ($message) { return $mail->hasTo('taylor@example.com') && $mail->attendeeMessage->is($message); }); Mail::assertNotQueued(AttendeeMessageEmail::class, function ($mail) { return $mail->hasTo('jane@example.com'); }); } }