/** * @param ErrorCollection $errors * @param $pointer * @param $errorKey * @param $status */ protected function assertErrorAt(ErrorCollection $errors, $pointer, $errorKey, $status = null) { $error = $this->findErrorAt($errors, $pointer); $expected = $this->errorRepository->error($errorKey); if ($status) { $expected->setStatus($status); } $this->assertEquals($expected->getTitle(), $error->getTitle(), 'Unexpected error title.'); $this->assertEquals($expected->getStatus(), $error->getStatus(), 'Unexpected error status.'); }
/** * @param $key * @param $id * @param $detail * @return $this */ private function willSee($key, $id, $detail = null) { $this->repository->configure([$key => [MutableErrorInterface::ID => $id, MutableErrorInterface::DETAIL => $detail]]); return $this; }
/** * Bind the error repository into the service container. */ protected function bindErrorRepository() { $this->app->singleton(ReplacerInterface::class, Replacer::class); $this->app->singleton(['json-api.errors' => ErrorRepositoryInterface::class], function () { /** @var ReplacerInterface $replacer */ $replacer = $this->app->make(ReplacerInterface::class); $repository = new ErrorRepository($replacer); $repository->configure($this->getErrorConfig()); return $repository; }); }