示例#1
0
 /**
  * @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);
 }
示例#2
0
 function it_puts_a_collection_to_a_relation(Repository $repository, Response $response, Payload $payload, Factory $factory, RepresentationCreator $responseCreator, ReverseTransformer $transformer, Relational $relational)
 {
     $table = 'image_product_site';
     $columnsValues = [['image_id' => 5, 'product_id' => 7, 'site_id' => 10], ['image_id' => 7, 'product_id' => 7, 'site_id' => 10]];
     $columnsValuesWithTimestamps = $this->addTimestampsToCollection($columnsValues);
     $rawBody = [['id' => 5], ['id', 7]];
     $body = [['image_id' => 5], ['image_id', 7]];
     $relationIds = ['site_id' => 10, 'product_id' => 7];
     $relational->relationIds()->shouldBeCalled()->willReturn($relationIds);
     $factory->getRequestPayload()->shouldBeCalled()->willReturn($payload);
     $payload->getIterator()->shouldBeCalled()->willReturn($rawBody);
     $transformer->reverseTransform($rawBody)->shouldBeCalled()->willReturn($body);
     $relational->addRelationalIdsToEachItemInCollection($body)->shouldBeCalled()->willReturn($columnsValues);
     $relational->addTimestampsToEachItemInCollection($columnsValues)->shouldBeCalled()->willReturn($columnsValuesWithTimestamps);
     $relational->table()->shouldBeCalled()->willReturn($table);
     $repository->putRelations($table, $relationIds, $columnsValuesWithTimestamps)->shouldBeCalled();
     $this->putRelationalCollection($repository, $transformer);
 }