Что-то я затупил. Решил поразбираться как делать 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. Но никаких объяснений в интернете я найти не могу.