/** * @inheritdoc */ public function patch($id, Repository $repository, ReverseTransformer $transformer) { $payload = $this->factory->getRequestPayload()->getIterator(); $payload = $transformer->reverseTransform($payload); $entity = $repository->patch($id, $payload); return $this->buildEntityResponse($transformer, $entity, 200); }
function it_patches_a_resource(Payload $payload, Factory $factory, PayloadCreator $payloadCreator, Repository $dbRepository, Transformer $transformer, Entity $entity, RepresentationCreator $representationCreator, Response $response) { $id = 3; $array = ['test']; $factory->getRequestPayload()->shouldBeCalled()->willReturn($payload); $payload->getIterator()->shouldBeCalled()->willReturn($array); $transformer->reverseTransform($array)->shouldBeCalled()->willReturn($array); $dbRepository->patch($id, $array)->shouldBeCalled()->willReturn($entity); $factory->makePayloadCreator()->shouldBeCalled()->willReturn($payloadCreator); $payloadCreator->entity($entity, $transformer)->shouldBeCalled()->willReturn($payloadCreator); $factory->makeRepresentationCreator()->shouldBeCalled()->willReturn($representationCreator); $representationCreator->make($payloadCreator, 200)->shouldBeCalled()->willReturn($response); $this->patch($id, $dbRepository, $transformer)->shouldReturn($response); }