There are a two main things that tripped me up while I was writing functional tests for my Laravel controllers: POST requests, and session state.
Laravel’s Controller class has the
call() method, which essentially makes a GET request to a controller method. In order to make POST requests, it’s necessary to inject some extra parameters into the
HttpFoundation components. To make this easier, I created a
ControllerTestCase class with convenient
post() methods: (more…)