tag. */ trait AdminPostTrait { private function getAdminCsrfToken(KernelBrowser $client): string { $crawler = $client->request('GET', '/dashboard'); $this->assertResponseIsSuccessful(); return (string) $crawler->filter('meta[name="csrf-token"]')->attr('content'); } /** * Fetches a valid CSRF token and POSTs it, together with $params, to $url. */ private function postAdmin(KernelBrowser $client, string $url, array $params = []): Crawler { $token = $this->getAdminCsrfToken($client); return $client->request('POST', $url, array_merge(['_token' => $token], $params)); } }