user = User::factory()->create(); } /** * @test */ public function test_sendRecoveryEmail_sends_notification_on_success() { Notification::fake(); $response = $this->json('POST', '/webauthn/lost', [ 'email' => $this->user->email, ]); Notification::assertSentTo($this->user, \App\Notifications\WebauthnRecoveryNotification::class); $response->assertStatus(200) ->assertJsonStructure([ 'message' ]); } /** * @test */ public function test_sendRecoveryEmail_does_not_send_anything_on_error() { Notification::fake(); $response = $this->json('POST', '/webauthn/lost', [ 'email' => 'bad@email.com', ]); Notification::assertNothingSent(); $response->assertStatus(422) ->assertJsonValidationErrors([ 'email' ]); } }