LINUX.ORG.RU

Тестирование в Laravel. Как задать переменную сессии в POST-запросе?

 , , , ,


0

1

Что-то я затупил. Решил поразбираться как делать Feature-тестирование в Laravel и застрял. У меня Laravel 5.5, и тестовое окружение:

use Illuminate\Foundation\Testing\TestCase;


В общем, в одном из тестов мне надо сделать POST-запрос с предварительно установленным значением сессионной переменной. В документации я вижу следующее:

https://laravel.com/docs/5.5/http-tests#session-and-authentication
class ExampleTest extends TestCase
{
    public function testApplication()
    {
        $response = $this->withSession(['foo' => 'bar'])
                         ->get('/');
    }
}

То есть, сделать GET-запрос с предварительной установкой сессионной переменной возможно. Но если вместо метода get() я пишу post(), то получаю ошибку:
Error: Call to undefined method Tests\Feature\PublicIntercomPagesTest::push()


И я понять не могу, почему нельзя устанавливать сессионную переменную при POST-запросе.

Видимо, я что-то забыл про функционирование протокола HTTP. Но никаких объяснений в интернете я найти не могу.

★★★★★