/** * @inheritdoc */ public function putRelationalCollection(Repository $repository, ReverseTransformer $transformer) { $payload = $this->factory->getRequestPayload()->getIterator(); $body = $transformer->reverseTransform($payload); $collection = $this->relational->addRelationalIdsToEachItemInCollection($body); $collection = $this->relational->addTimestampsToEachItemInCollection($collection); $repository->putRelations($this->relational->table(), $this->relational->relationIds(), $collection); }
function it_puts_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->put($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->put($id, $dbRepository, $transformer)->shouldReturn($response); }