<?php namespace Tests\Traits\Http; use Closure; use Illuminate\Http\Request; use BadFunctionCallException; trait MocksMiddlewareClosure { /** * Provide a closure to be used when validating that the response from the middleware * is the same request object we passed into it. */ protected function getClosureAssertions(): Closure { if (is_null($this->request)) { throw new BadFunctionCallException('Calling getClosureAssertions without defining a request object is not supported.'); } return function ($response) { $this->assertInstanceOf(Request::class, $response); $this->assertSame($this->request, $response); }; } }