public function testTransform() { $transformer = new ErrorTransformer(); $error = new Error(['code' => 'code', 'id' => 'id', 'title' => 'title', 'details' => 'detail', 'links' => (object) ['about' => 'about'], 'source' => (object) ['pointer' => 'pointer', 'parameter' => 'parameter'], 'meta' => 'meta']); $result = $transformer->transform($error); $this->assertSame(['errors' => ['code' => 'code', 'id' => 'id', 'title' => 'title', 'details' => 'detail', 'links' => ['about' => 'about'], 'source' => ['pointer' => 'pointer', 'parameter' => 'parameter'], 'meta' => 'meta']], $result); }
/** * @param $error * @param $statusCode * @return mixed */ private function errorResponse($error, $statusCode) { $error = new Error($error); $error->requestId = Uuid::uuid4()->toString(); return $this->response->setStatusCode($statusCode)->withArray($this->errorTransformer->transform($error), ['Request-Id' => $error->requestId]); }