getJson($url, $this->storefrontHeaders()); } /** * Execute a public POST request (storefront key only) */ protected function publicPost(string $url, array $data = []): TestResponse { return $this->postJson($url, $data, $this->storefrontHeaders()); } /** * Execute an authenticated GET request (storefront key + customer token) */ protected function authenticatedGet(Customer $customer, string $url): TestResponse { return $this->actingAs($customer) ->withHeaders($this->authHeaders($customer)) ->getJson($url); } /** * Execute an authenticated POST request (storefront key + customer token) */ protected function authenticatedPost(Customer $customer, string $url, array $data = []): TestResponse { return $this->actingAs($customer) ->withHeaders($this->authHeaders($customer)) ->postJson($url, $data); } /** * Execute an authenticated DELETE request (storefront key + customer token) */ protected function authenticatedDelete(Customer $customer, string $url): TestResponse { return $this->actingAs($customer) ->withHeaders($this->authHeaders($customer)) ->deleteJson($url); } /** * Execute a public DELETE request (storefront key only) */ protected function publicDelete(string $url): TestResponse { return $this->deleteJson($url, [], $this->storefrontHeaders()); } }