/** * @var ItemTreeBounds $itemTreeBounds * @param string $addCondition * @param array $addParameters * @return Item[] */ public function getContainedItems(ItemTreeBounds $itemTreeBounds, $addCondition = "", $addParameters = array()) { $uploadTreeTableName = $itemTreeBounds->getUploadTreeTableName(); $statementName = __METHOD__ . ".{$uploadTreeTableName}"; $view = new UploadTreeViewProxy($itemTreeBounds, array(UploadTreeViewProxy::CONDITION_PLAIN_FILES)); $this->dbManager->prepare($statementName, $view->asCTE() . " SELECT * FROM " . $view->getDbViewName() . " ut " . ($addCondition ? " WHERE " . $addCondition : '')); $res = $this->dbManager->execute($statementName, $addParameters); $items = array(); while ($row = $this->dbManager->fetchArray($res)) { $items[] = $this->createItem($row, $uploadTreeTableName); } $this->dbManager->freeResult($res); return $items; }
public function testViewName() { $this->itemTreeBounds->shouldReceive("getUploadTreeTableName")->once()->withNoArgs()->andReturn("foo"); $uploadTreeView = new UploadTreeViewProxy($this->itemTreeBounds, array(), $this->viewSuffix); assertThat($uploadTreeView->getDbViewName(), is("UploadTreeView.<suffix>")); }