/** * @inheritdoc */ public function getRandomIds(array $entities, array $idEntities) { if (count($idEntities) === 0) { return []; } return $this->db->getRandomColumnEntries($this->tableHelper->getTable($entities), $this->tableHelper->getIdColumnNames($entities, $idEntities)); }
function it_gets_random_ids_for_supplied_entities(TableFetcher $tableFetcher, TableHelper $tableHelper) { $entities = ['sites', 'products', 'images']; $idEntities = ['sites', 'products']; $columns = ['site_id', 'product_id']; $table = 'image_product_site'; $result = [1, 2]; $tableFetcher->getRandomColumnEntries($table, $columns)->shouldBeCalled()->willReturn($result); $tableHelper->getTable($entities)->shouldBeCalled()->willReturn($table); $tableHelper->getIdColumnNames($entities, $idEntities)->willReturn($columns); $this->getRandomIds($entities, $idEntities)->shouldReturn($result); }