I think that If you use a functional test It should cover it.
Sep 10, 2014
4
Level 5
How to test commands
Currently I'm trying to find out what the best way would be to test a command.
I have tried creating an example below. But I'm clueless on how to test this whole process to make sure this functionality will always work.
// SubscribersController@store
$this->execute(SignupSubscriberCommand::class);
// SignupSubscriberCommandHandler@handle
$subscriber = Subscriber::signup($command->mailinglistId, $command->email);
$this->dispatchEventsFor($subscriber);
return $subscriber;
// Subscriber@signup (Eloquent model)
$confirmation_code = str_random(32);
$subscriber = static::create(compact('mailinglist_id', 'email', 'confirmation_code'));
$subscriber->raise(new SubscriberWasSignedUp($subscriber));
return $subscriber;
// EmailNotifier@whenSubscriberWasSignedUp
$subscriber = $event->subscriber;
$data = [
'subscriber' => $subscriber,
];
$mail = Mail::send('emails.subscribers.signup', $data, function($m) use ($subscriber){
$m->to($subscriber->email)
->subject('Confirm your subscription');
});
Please or to participate in this conversation.