<?php
|
|
|
|
namespace Tests\Feature\Auth\Passwords;
|
|
|
|
use App\Associate;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Livewire\Livewire;
|
|
use Tests\TestCase;
|
|
|
|
class EmailTest extends TestCase
|
|
{
|
|
use RefreshDatabase;
|
|
|
|
/** @test */
|
|
public function can_view_password_request_page()
|
|
{
|
|
$this->get(route('password.request'))
|
|
->assertSuccessful()
|
|
->assertSeeLivewire('auth.passwords.email');
|
|
}
|
|
|
|
/** @test */
|
|
public function a_associate_must_enter_an_email_address()
|
|
{
|
|
Livewire::test('auth.passwords.email')
|
|
->call('sendResetPasswordLink')
|
|
->assertHasErrors(['email' => 'required']);
|
|
}
|
|
|
|
/** @test */
|
|
public function a_associate_must_enter_a_valid_email_address()
|
|
{
|
|
Livewire::test('auth.passwords.email')
|
|
->set('email', 'email')
|
|
->call('sendResetPasswordLink')
|
|
->assertHasErrors(['email' => 'email']);
|
|
}
|
|
|
|
/** @test */
|
|
public function a_associate_who_enters_a_valid_email_address_will_get_sent_an_email()
|
|
{
|
|
$associate = factory(Associate::class)->create();
|
|
|
|
Livewire::test('auth.passwords.email')
|
|
->set('email', $associate->email)
|
|
->call('sendResetPasswordLink')
|
|
->assertNotSet('emailSentMessage', false);
|
|
|
|
$this->assertDatabaseHas('associate_password_resets', [
|
|
'email' => $associate->email,
|
|
]);
|
|
}
|
|
}
|