1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-07-30 04:23:11 +03:00

Updated email test send to show error on failure

- Added test to cover
- Closes #1874
This commit is contained in:
Dan Brown
2020-02-15 14:13:15 +00:00
parent 33ef1cd4fa
commit 49386b42da
3 changed files with 30 additions and 2 deletions

View File

@ -1,6 +1,7 @@
<?php namespace Tests;
use BookStack\Notifications\TestEmail;
use Illuminate\Contracts\Notifications\Dispatcher;
use Illuminate\Support\Facades\Notification;
class TestEmailTest extends TestCase
@ -26,6 +27,24 @@ class TestEmailTest extends TestCase
Notification::assertSentTo($admin, TestEmail::class);
}
public function test_send_test_email_failure_displays_error_notification()
{
$mockDispatcher = $this->mock(Dispatcher::class);
$this->app[Dispatcher::class] = $mockDispatcher;
$exception = new \Exception('A random error occurred when testing an email');
$mockDispatcher->shouldReceive('send')->andThrow($exception);
$admin = $this->getAdmin();
$sendReq = $this->actingAs($admin)->post('/settings/maintenance/send-test-email');
$sendReq->assertRedirect('/settings/maintenance#image-cleanup');
$this->assertSessionHas('error');
$message = session()->get('error');
$this->assertStringContainsString('Error thrown when sending a test email:', $message);
$this->assertStringContainsString('A random error occurred when testing an email', $message);
}
public function test_send_test_email_requires_settings_manage_permission()
{
Notification::fake();