/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
tests/Integration/Cookie/CookieTest.php
59 строк
2 KB
Jason McCreary
[13.x] Mockery cleanup (#61117)
10 авг 2026, 20:23
Не верифицирован
10 авг 2026, 20:23
2ee40ee
Код
Авторство
О чём код?
<?php namespace Illuminate\Tests\Integration\Cookie; use Illuminate\Contracts\Debug\ExceptionHandler; use Illuminate\Http\Response; use Illuminate\Session\NullSessionHandler; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Session; use Illuminate\Support\Str; use Mockery; use Orchestra\Testbench\TestCase; class CookieTest extends TestCase { public function test_cookie_is_sent_back_with_proper_expire_time_when_should_expire_on_close() { $this->app['config']->set('session.expire_on_close', true); Route::get('/', function () { return 'hello world'; })->middleware('web'); $response = $this->get('/'); $this->assertCount(2, $response->headers->getCookies()); $this->assertEquals(0, $response->headers->getCookies()[1]->getExpiresTime()); } public function test_cookie_is_sent_back_with_proper_expire_time_with_respect_to_lifetime() { $this->app['config']->set('session.expire_on_close', false); $this->app['config']->set('session.lifetime', 1); Route::get('/', function () { return 'hello world'; })->middleware('web'); Carbon::setTestNow($now = Carbon::now()); $response = $this->get('/'); $this->assertCount(2, $response->headers->getCookies()); $this->assertEquals($now->addMinute()->getTimestamp(), $response->headers->getCookies()[1]->getExpiresTime()); } protected function defineEnvironment($app) { $handler = Mockery::mock(ExceptionHandler::class)->shouldIgnoreMissing(); $app->instance(ExceptionHandler::class, $handler); $handler->shouldReceive('render')->andReturn(new Response); $app['config']->set('app.key', Str::random(32)); $app['config']->set('session.driver', 'fake-null'); Session::extend('fake-null', function () { return new NullSessionHandler; }); } }