Beispiel #1
0
 /**
  * @inheritdoc
  */
 public function getRandomIdsForUri($uri, \Closure $idOverride = null, $idPlaceholder = '{random_id}')
 {
     if ($idOverride) {
         $idMap = $idOverride($uri, $idPlaceholder);
         if ($idMap) {
             return $idMap;
         }
     }
     return $this->idRetriever->getRandomIds($this->uriParser->entities($uri, $idPlaceholder), $this->uriParser->idEntities($uri, $idPlaceholder));
 }
Beispiel #2
0
 function it_gets_random_ids_for_the_last_entity_not_in_pivot(Parser $parser, \LaraPackage\RandomId\Contracts\Retriever $idRetriever)
 {
     $resource = '/sites/1/products/2/images';
     $entities = ['sites', 'products', 'images'];
     $idEntities = ['sites', 'products'];
     $ids = [1, 2];
     $randomIdNotInPivot = ['id' => 56];
     $count = 2;
     $parser->entities($resource)->shouldBeCalled()->willReturn($entities);
     $parser->idEntities($resource)->shouldBeCalled()->willReturn($idEntities);
     $parser->ids($resource)->shouldBeCalled()->willReturn($ids);
     $idRetriever->getRandomIdsNotInPivot($entities, $idEntities, $ids, $count)->shouldBeCalled()->willReturn($randomIdNotInPivot);
     $this->getRandomIdsForLastEntityNotInPivot($resource, $count)->shouldReturn($randomIdNotInPivot);
 }
Beispiel #3
0
 /**
  * @return array
  */
 protected function idEntities()
 {
     return $this->parser->idEntities($this->uri());
 }
Beispiel #4
0
 function it_returns_an_item_column(Request $request, Parser $parser, TableHelper $tableHelper)
 {
     $uri = '/sites/1/products/2/images/1,2,4';
     $entities = ['sites', 'products', 'images'];
     $idEntities = ['sites', 'products', 'images'];
     $result = 'image_id';
     $request->getRequestUri()->shouldBeCalled()->willReturn($uri);
     $parser->entities($uri)->shouldBeCalled()->willReturn($entities);
     $parser->idEntities($uri)->shouldBeCalled()->willReturn($idEntities);
     $tableHelper->getLastEntityAsIdColumnName($entities)->willReturn($result);
     $this->itemColumn()->shouldReturn($result);
 }