/
evo
/
docviz
Обзор
Документация
Войти
/
evo
/
docviz
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
tests/Feature/AuthTest.php
84 строки
2 KB
evo
UI updates, deployment prep, and code highlighting fix
08 фев 2026, 12:17
Верифицирован
08 фев 2026, 12:17
2c0897e
Код
Авторство
О чём код?
<?php namespace Tests\Feature; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; class AuthTest extends TestCase { use RefreshDatabase; public function test_login_page_returns_200(): void { $response = $this->get(route('login')); $response->assertStatus(200); } public function test_register_page_returns_200(): void { $response = $this->get(route('register')); $response->assertStatus(200); } public function test_user_can_login(): void { $user = User::factory()->user()->create([ 'email' => 'test@example.com', 'password' => bcrypt('password'), ]); $response = $this->post(route('login'), [ 'email' => 'test@example.com', 'password' => 'password', ]); $response->assertRedirect(); $this->assertAuthenticatedAs($user); } public function test_login_fails_with_invalid_credentials(): void { User::factory()->user()->create(['email' => 'test@example.com']); $response = $this->post(route('login'), [ 'email' => 'test@example.com', 'password' => 'wrong-password', ]); $response->assertSessionHasErrors('email'); $this->assertGuest(); } public function test_user_can_register(): void { $response = $this->post(route('register'), [ 'name' => 'New User', 'email' => 'new@example.com', 'password' => 'password123', 'password_confirmation' => 'password123', ]); $response->assertRedirect(route('app.home')); $this->assertDatabaseHas('users', ['email' => 'new@example.com']); $this->assertAuthenticated(); } public function test_authenticated_user_can_logout(): void { $user = User::factory()->user()->create(); $this->actingAs($user); $response = $this->post(route('logout')); $response->assertRedirect(route('app.home')); $this->assertGuest(); } public function test_guest_cannot_access_logout_via_get(): void { $response = $this->get(route('logout')); $response->assertStatus(405); } }