РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1218 of 1392 menu

Метод assertCookie

Метод assertCookie применяется к объекту ответа в тестах Laravel и проверяет, что в ответе присутствует cookie с заданными параметрами. Первым параметром передаётся имя cookie, вторым - ожидаемое значение. Метод также принимает дополнительные параметры для проверки других атрибутов cookie, таких как путь, домен, время истечения и флаги безопасности.

Синтаксис

<?php $response->assertCookie($name, $value = null, $path = null, $domain = null, $secure = null, $httpOnly = null, $expires = null); ?>

Пример

Проверим, что при успешном входе пользователя устанавливается cookie с именем 'auth_token' и определённым значением:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\User; use Illuminate\Support\Facades\Hash; class AuthTest extends TestCase { public function test_login_sets_auth_cookie() { $user = User::create([ 'name' => 'Test User', 'email' => 'user@example.com', 'password' => Hash::make('password123') ]); $response = $this->post('/login', [ 'email' => 'user@example.com', 'password' => 'password123' ]); $response->assertCookie('auth_token'); } } ?>

Результат выполнения кода при успешном тесте:

"Test passed"

Пример

Проверим конкретное значение cookie и дополнительные параметры:

<?php namespace Tests\Feature; use Tests\TestCase; class CookieTest extends TestCase { public function test_cookie_has_correct_attributes() { $response = $this->get('/set-cookie'); $response->assertCookie( 'user_preference', 'dark_mode', '/', // path null, // domain true, // secure true, // httpOnly null // expires ); } } ?>

Результат выполнения кода:

"Test passed"

Пример

Используем метод для проверки отсутствия cookie в ответе с помощью дополнительного метода assertCookieMissing:

<?php namespace Tests\Feature; use Tests\TestCase; class AuthTest extends TestCase { public function test_logout_removes_auth_cookie() { $response = $this->post('/logout'); $response->assertCookieMissing('auth_token'); } } ?>

Результат выполнения кода:

"Test passed"

Смотрите также

  • метод assertHeader,
    который проверяет наличие заголовка в ответе
  • метод assertStatus,
    который проверяет HTTP-статус ответа
  • метод assertRedirect,
    который проверяет редирект в ответе
  • метод assertSessionHas,
    который проверяет наличие данных в сессии
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить