Sistema de controles da União de Ciclistas do Brasil
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 

107 lines
2.8 KiB

<?php
namespace Tests\Feature\Auth;
use App\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Livewire\Livewire;
use Tests\TestCase;
class LoginTest extends TestCase
{
use RefreshDatabase;
/** @test */
public function can_view_login_page()
{
$this->get(route('login'))
->assertSuccessful()
->assertSeeLivewire('auth.login');
}
/** @test */
public function is_redirected_if_already_logged_in()
{
$user = factory(User::class)->create();
$this->be($user);
$this->get(route('login'))
->assertRedirect(route('home'));
}
/** @test */
public function a_user_can_login()
{
$user = $this->factoryWithoutObservers(User::class)->create(['password' => Hash::make('password')]);
Livewire::test('auth.login')
->set('email', $user->email)
->set('password', 'password')
->call('authenticate');
$this->assertAuthenticatedAs($user);
}
/** @test */
public function is_redirected_to_the_home_page_after_login()
{
$user = $this->factoryWithoutObservers(User::class)->create(['password' => Hash::make('password')]);
Livewire::test('auth.login')
->set('email', $user->email)
->set('password', 'password')
->call('authenticate')
->assertRedirect(route('home'));
}
/** @test */
public function email_is_required()
{
$user = factory(User::class)->create(['password' => Hash::make('password')]);
Livewire::test('auth.login')
->set('password', 'password')
->call('authenticate')
->assertHasErrors(['email' => 'required']);
}
/** @test */
public function email_must_be_valid_email()
{
$user = factory(User::class)->create(['password' => Hash::make('password')]);
Livewire::test('auth.login')
->set('email', 'invalid-email')
->set('password', 'password')
->call('authenticate')
->assertHasErrors(['email' => 'email']);
}
/** @test */
public function password_is_required()
{
$user = factory(User::class)->create(['password' => Hash::make('password')]);
Livewire::test('auth.login')
->set('email', $user->email)
->call('authenticate')
->assertHasErrors(['password' => 'required']);
}
/** @test */
public function bad_login_attempt_shows_message()
{
$user = factory(User::class)->create();
Livewire::test('auth.login')
->set('email', $user->email)
->set('password', 'bad-password')
->call('authenticate')
->assertHasErrors('email');
$this->assertFalse(Auth::check());
}
}