The docs for the client outline a way that you can assert a specific header is present, and you can optionally assert the value too; https://laravel.com/docs/8.x/http-client#inspecting-requests.
Sounds like you want to dump out all the headers though.
If we look in the documentation, when you are asserting a request was sent, you are passed an instance of Illuminate\Http\Client\Request
.
If we take a look at Illuminate\Http\Client\Request
there is a public method for getting all the headers:
/**
* Get the request headers.
*
* @return array
*/
public function headers()
{
return collect($this->request->getHeaders())->mapWithKeys(function ($values, $header) {
return [$header => $values];
})->all();
}
So in your test, you could do something like this:
Http::fake();
//... your test
Http::assertSent(function ($request) {
dump($request->headers());
// replace this with an actual assertion but it’s needed to print the dump out
return true;
});
CLICK HERE to find out more related problems solutions.