Auth: convert auth views and verification email to Nova layout
This commit is contained in:
43
tests/Feature/Auth/RegistrationVerificationMailTest.php
Normal file
43
tests/Feature/Auth/RegistrationVerificationMailTest.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
use App\Mail\RegistrationVerificationMail;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
|
||||
it('registration verification mailable is queued with retry policy', function () {
|
||||
$mail = new RegistrationVerificationMail('token-123');
|
||||
|
||||
expect($mail)->toBeInstanceOf(ShouldQueue::class);
|
||||
expect($mail->tries)->toBe(3);
|
||||
expect($mail->timeout)->toBe(30);
|
||||
expect($mail->backoff)->toBe([60, 300, 900]);
|
||||
});
|
||||
|
||||
it('registration email contains verification link expiry and support url', function () {
|
||||
config()->set('app.url', 'https://skinbase.example');
|
||||
config()->set('app.name', 'Skinbase');
|
||||
|
||||
$mail = new RegistrationVerificationMail('abc-token');
|
||||
$html = $mail->render();
|
||||
|
||||
expect($html)->toContain('Verify Email');
|
||||
expect($html)->toContain('/verify/abc-token');
|
||||
expect($html)->toContain('expires in 24 hours');
|
||||
expect($html)->toContain('https://skinbase.example/support');
|
||||
});
|
||||
|
||||
it('registration endpoint still queues verification mail', function () {
|
||||
\Illuminate\Support\Facades\Mail::fake();
|
||||
|
||||
$this->post('/register', [
|
||||
'email' => 'mail-test@example.com',
|
||||
])->assertRedirect('/register/notice');
|
||||
|
||||
\Illuminate\Support\Facades\Mail::assertQueued(RegistrationVerificationMail::class);
|
||||
$this->assertDatabaseHas('users', [
|
||||
'email' => 'mail-test@example.com',
|
||||
'onboarding_step' => 'email',
|
||||
]);
|
||||
});
|
||||
Reference in New Issue
Block a user