public function testUnauthorized() { $response = m::mock(EllipseResponse::class); $response->shouldReceive('setStatusCode')->with(401)->andReturnSelf(); $response->shouldReceive('withArray')->once()->andReturn('foo'); $response = new Response($response, new ErrorTransformer()); $this->assertSame('foo', $response->errorUnauthorized(['details'])); }
/** * Render an exception into an HTTP response. * * @param \Illuminate\Http\Request $request * @param \Exception $e * @return \Illuminate\Http\Response */ public function render($request, \Exception $e) { $this->response = app(Response::class); // Model not found if ($e instanceof ModelNotFoundException) { return $this->response->errorNotFound(['title' => 'No query results', 'code' => Error::CODE_RESOURCE_NOT_FOUND]); } // Wrongs argument if ($e instanceof InvalidArgumentException) { return $this->response->errorWrongArgs([$e->getMessage()]); } // Validator if ($e instanceof ValidatorException) { return $this->response->errorWrongArgsValidator($e->errors()); } if ($e instanceof AuthorizationException) { return $this->response->errorUnauthorized([$e->getMessage()]); } // Route not found if ($e instanceof NotFoundHttpException) { return $this->response->errorNotFound(); } // Method not allowed if ($e instanceof MethodNotAllowedHttpException) { return $this->response->errorMethodNotAllowed(); } if ($e instanceof InvalidRequestException) { return $this->response->errorUnauthorized([$e->getMessage()]); } if ($e instanceof AccessDeniedException) { return $this->response->errorUnauthorized([$e->getMessage()]); } return parent::render($request, $e); }