assertFragment(['status' => $status->value]); } /** * Raw Function to call api * * @param string $method * @param string $uri * @param array $data * @param array $headers * @return \Illuminate\Testing\TestResponse */ protected function callApi(string $method, string $uri, array $data = [], array $headers = []): TestResponse { if (!isset($data['timestamp'])) { $data['timestamp'] = \time(); } return $this->json($method, $uri, $data, $headers); } /** * Raw Function to call api with Token * * @param string $method * @param string $uri * @param array $data * @param array $headers * @return \Illuminate\Testing\TestResponse */ protected function callApiWithToken( string $method, string $uri, array $data = [], array $headers = [] ): TestResponse { if (!$this->apiToken) { $this->apiToken = ApiToken::query()->inRandomOrder()->firstOrFail(); $publicToken = $this->apiToken->generatePublicToken(); $this->apiToken->saveOrFail(); $this->apiToken->public_token = $publicToken; } $data['bearer_token'] = $this->apiToken->public_token; $data['timestamp'] = \gmdate('Y-m-d H:i:s'); $data['signature'] = Helper::signRequest( $this->apiToken->private_token, $uri, $method, $data ); return $this->callApi($method, $uri, $data, $headers); } }