public function testAddGroupMembership() { $this->testDb->createPlainTables(array('users', 'groups', 'group_user_member')); $this->testDb->insertData(array('users', 'groups', 'group_user_member')); $this->userDao->addGroupMembership($groupId = 2, $userId = 1); $map = $this->userDao->getUserGroupMap($userId); assertThat($map, hasKey($groupId)); }
public function getFolderStructure($parentId = null) { $statementName = __METHOD__ . ($parentId ? '.relativeToParent' : ''); $parameters = $parentId ? array($parentId) : array(); $this->dbManager->prepare($statementName, $this->getFolderTreeCte($parentId) . " SELECT folder_pk, parent_fk, folder_name, folder_desc, folder_perm, depth FROM folder_tree ORDER BY name_path"); $res = $this->dbManager->execute($statementName, $parameters); $userGroupMap = $this->userDao->getUserGroupMap(Auth::getUserId()); $results = array(); while ($row = $this->dbManager->fetchArray($res)) { $countUploads = $this->countFolderUploads(intval($row['folder_pk']), $userGroupMap); $results[] = array(self::FOLDER_KEY => new Folder(intval($row['folder_pk']), $row['folder_name'], $row['folder_desc'], intval($row['folder_perm'])), self::DEPTH_KEY => $row['depth'], self::REUSE_KEY => $countUploads); } $this->dbManager->freeResult($res); return $results; }