Пример #1
0
 function it_gets_random_ids_for_an_entity_that_are_not_in_a_pivot(TableFetcher $tableFetcher, TableHelper $tableHelper)
 {
     $entities = ['sites', 'products', 'images'];
     $idEntities = ['sites', 'products'];
     $table = 'images';
     $pivotColumn = 'image_id';
     $pivot = 'image_product_site';
     $ids = [1, 2];
     $imageId = [5];
     $columns = ['site_id', 'product_id'];
     $count = 2;
     $tableHelper->getLastEntityAsIdColumnName($entities)->shouldBeCalled()->willReturn($pivotColumn);
     $tableHelper->getTable($entities)->shouldBeCalled()->willReturn($pivot);
     $tableHelper->getIdColumnNames($entities, $idEntities)->shouldBeCalled()->willReturn($columns);
     $tableFetcher->getRandomIdsFromTableWhereNotInPivot($table, $pivot, $pivotColumn, $count, array_combine($columns, $ids))->shouldBeCalled()->willReturn($imageId);
     $this->getRandomIdsNotInPivot($entities, $idEntities, $ids, $count);
 }
Пример #2
0
 /**
  * @inheritdoc
  */
 public function itemColumn()
 {
     $this->isAnItemResource();
     return $this->tableHelper->getLastEntityAsIdColumnName($this->entities());
 }
Пример #3
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);
 }