mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-08-09 10:22:51 +03:00
Added tests to cover test email sends
- Also tweaked wording of 'E-mail' to 'Email' to remain consistent with the rest of the app. Related to #1696 and #1719
This commit is contained in:
43
tests/TestEmailTest.php
Normal file
43
tests/TestEmailTest.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php namespace Tests;
|
||||
|
||||
use BookStack\Notifications\TestEmail;
|
||||
use Illuminate\Support\Facades\Notification;
|
||||
|
||||
class TestEmailTest extends TestCase
|
||||
{
|
||||
|
||||
public function test_a_send_test_button_shows()
|
||||
{
|
||||
$pageView = $this->asAdmin()->get('/settings/maintenance');
|
||||
$formCssSelector = 'form[action$="/settings/maintenance/send-test-email"]';
|
||||
$pageView->assertElementExists($formCssSelector);
|
||||
$pageView->assertElementContains($formCssSelector . ' button', 'Send Test Email');
|
||||
}
|
||||
|
||||
public function test_send_test_email_endpoint_sends_email_and_redirects_user_and_shows_notification()
|
||||
{
|
||||
Notification::fake();
|
||||
$admin = $this->getAdmin();
|
||||
|
||||
$sendReq = $this->actingAs($admin)->post('/settings/maintenance/send-test-email');
|
||||
$sendReq->assertRedirect('/settings/maintenance#image-cleanup');
|
||||
$this->assertSessionHas('success', 'Email sent to ' . $admin->email);
|
||||
|
||||
Notification::assertSentTo($admin, TestEmail::class);
|
||||
}
|
||||
|
||||
public function test_send_test_email_requires_settings_manage_permission()
|
||||
{
|
||||
Notification::fake();
|
||||
$user = $this->getViewer();
|
||||
|
||||
$sendReq = $this->actingAs($user)->post('/settings/maintenance/send-test-email');
|
||||
Notification::assertNothingSent();
|
||||
|
||||
$this->giveUserPermissions($user, ['settings-manage']);
|
||||
$sendReq = $this->actingAs($user)->post('/settings/maintenance/send-test-email');
|
||||
Notification::assertSentTo($user, TestEmail::class);
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user