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