Я изо всех сил пытаюсь справиться с проверкой события в классе и почтовым звонком.Есть ли альтернатива тому, что поставляется с Laravel 5.5+, Mail::fake()
и аналогичными, в Laravel 5.2?
Вот пример тестового класса
<?php
namespace tests\SampleTest;
use tests\TestCase;
use App\Foo\Bar;
class BarTest extends TestCase
{
public function testBar() {
$class = new Bar();
$class->methodWithEvent();
// Event is called. Inside event we call Mail
$this->expectsEvents(App\Events\BarEvent::class);
}
}
Пример класса бара
<?php
namespace App\Foo;
use App\Events\BarEvent;
use Event;
class Bar
{
public function methodWithEvent()
{
Event::fire(new BarEvent());
}
}
Пример файла события - файл по умолчанию Пример файла прослушивания - метод обработчика
public function handle(BarEvent $event)
{
$emailData = [
'from' => 'test@hotmail.com',
'email' => 'joe.doe@hotmail.com',
'title' => 'Test'
];
Mail::send('Test Message', ['html' => 'HTML Message'], function ($mail) use ($emailData) {
$mail->from($emailData['from']);
$mail->to($emailData['email'])->subject($emailData['title']);
});
}