/** * @depends testSuperUserCreateAction */ public function testStickySearchActions() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); StickySearchUtil::clearDataByKey('GameRewardsSearchView'); $value = StickySearchUtil::getDataByKey('GameRewardsSearchView'); $this->assertNull($value); //Sort order desc $this->setGetArray(array('GameRewardsSearchForm' => array('anyMixedAttributes' => 'xyz', SearchForm::SELECTED_LIST_ATTRIBUTES => array('quantity', 'name')), 'GameReward_sort' => 'name.desc')); $this->runControllerWithNoExceptionsAndGetContent('gameRewards/default/'); $data = StickySearchUtil::getDataByKey('GameRewardsSearchView'); $compareData = array('dynamicClauses' => array(), 'dynamicStructure' => null, 'anyMixedAttributes' => 'xyz', 'anyMixedAttributesScope' => null, SearchForm::SELECTED_LIST_ATTRIBUTES => array('quantity', 'name'), 'sortAttribute' => 'name', 'sortDescending' => true); $this->assertEquals($compareData, $data); //Sort order asc StickySearchUtil::clearDataByKey('GameRewardsSearchView'); $this->setGetArray(array('GameRewardsSearchForm' => array('anyMixedAttributes' => 'xyz', SearchForm::SELECTED_LIST_ATTRIBUTES => array('quantity', 'name')), 'GameReward_sort' => 'quantity')); $this->runControllerWithNoExceptionsAndGetContent('gameRewards/default/'); $data = StickySearchUtil::getDataByKey('GameRewardsSearchView'); $compareData = array('dynamicClauses' => array(), 'dynamicStructure' => null, 'anyMixedAttributes' => 'xyz', 'anyMixedAttributesScope' => null, SearchForm::SELECTED_LIST_ATTRIBUTES => array('quantity', 'name'), 'sortAttribute' => 'quantity', 'sortDescending' => false); $this->assertEquals($compareData, $data); $this->setGetArray(array('clearingSearch' => true)); $this->runControllerWithNoExceptionsAndGetContent('gameRewards/default'); $data = StickySearchUtil::getDataByKey('GameRewardsSearchView'); $compareData = array('dynamicClauses' => array(), 'dynamicStructure' => null, 'anyMixedAttributesScope' => null, SearchForm::SELECTED_LIST_ATTRIBUTES => array('name', 'cost', 'quantity')); $this->assertEquals($compareData, $data); }
/** * @depends testListForMarketingAction */ public function testStickySearchActions() { StickySearchUtil::clearDataByKey('EmailTemplatesSearchView'); $value = StickySearchUtil::getDataByKey('EmailTemplatesSearchView'); $this->assertNull($value); $this->setGetArray(array('EmailTemplatesSearchForm' => array('anyMixedAttributes' => 'xyz'))); $content = $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForMarketing'); $this->assertContains('No results found', $content); $data = StickySearchUtil::getDataByKey('EmailTemplatesSearchView'); $compareData = array('dynamicClauses' => array(), 'dynamicStructure' => null, 'anyMixedAttributes' => 'xyz', 'anyMixedAttributesScope' => null, 'selectedListAttributes' => null); $this->assertEquals($compareData, $data); $this->setGetArray(array('EmailTemplatesSearchForm' => array('anyMixedAttributes' => 'Test'))); $content = $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForMarketing'); $this->assertContains('1 result(s)', $content); $data = StickySearchUtil::getDataByKey('EmailTemplatesSearchView'); $compareData = array('dynamicClauses' => array(), 'dynamicStructure' => null, 'anyMixedAttributes' => 'Test', 'anyMixedAttributesScope' => null, 'selectedListAttributes' => null, 'savedSearchId' => null); $this->assertEquals($compareData, $data); $this->setGetArray(array('clearingSearch' => true)); $this->runControllerWithNoExceptionsAndGetContent('emailTemplates/default/listForMarketing'); $data = StickySearchUtil::getDataByKey('EmailTemplatesSearchView'); $compareData = array('dynamicClauses' => array(), 'dynamicStructure' => null, 'anyMixedAttributesScope' => null, 'selectedListAttributes' => null); $this->assertEquals($compareData, $data); }
private function makeDataCollectionAndResolveSavedSearch($searchModel, $stickySearchKey = null, $setSticky = true) { $dataCollection = new SearchAttributesDataCollection($searchModel); if ($searchModel instanceof SavedDynamicSearchForm) { $getData = GetUtil::getData(); if ($stickySearchKey != null && isset($getData['clearingSearch']) && $getData['clearingSearch']) { StickySearchUtil::clearDataByKey($stickySearchKey); } if ($stickySearchKey != null && null != ($stickySearchData = StickySearchUtil::getDataByKey($stickySearchKey))) { SavedSearchUtil::resolveSearchFormByStickyDataAndModel($stickySearchData, $searchModel); SavedSearchUtil::resolveSearchFormByStickySortData($getData, $searchModel, $stickySearchData); SearchUtil::resolveSearchFormByStickyFilterByStarredData($getData, $searchModel, $stickySearchData); SearchUtil::resolveSearchFormByStickyFilteredByData($getData, $searchModel, $stickySearchData); SearchUtil::resolveSearchFormByStickyFilteredByData($getData, $searchModel, $stickySearchData); $dataCollection = new SavedSearchAttributesDataCollection($searchModel); } else { SavedSearchUtil::resolveSearchFormByData($getData, $searchModel); if ($searchModel->savedSearchId != null) { $dataCollection = new SavedSearchAttributesDataCollection($searchModel); } } if ($stickySearchKey != null && ($setSticky || $searchModel->getKanbanBoard() != null && $searchModel->getKanbanBoard()->getClearSticky())) { if ($stickySearchData == null) { $stickySearchData = array(); } SavedSearchUtil::setDataByKeyAndDataCollection($stickySearchKey, $dataCollection, $stickySearchData); } $searchModel->loadSavedSearchUrl = Yii::app()->createUrl($this->getModule()->getId() . '/' . $this->getId() . '/list/'); } return $dataCollection; }
public function testSetGetClearStickySearchByKey() { StickySearchUtil::clearDataByKey('abc'); $value = StickySearchUtil::getDataByKey('abc'); $this->assertNull($value); $savedSearch = new SavedSearch(); $savedSearch->name = 'something'; $savedSearch->viewClassName = 'view'; $savedSearch->serializedData = 'someString'; $saved = $savedSearch->save(); $this->assertTrue($saved); $this->assertTrue($savedSearch->id > 0); $searchModel = new AAASavedDynamicSearchFormTestModel(new AAA(false)); $listAttributesSelector = new ListAttributesSelector('AListView', 'TestModule'); $searchModel->setListAttributesSelector($listAttributesSelector); $searchModel->dynamicStructure = '1 and 5'; $searchModel->dynamicClauses = array('a', 'b'); $searchModel->anyMixedAttributes = 'abcdef'; $searchModel->savedSearchId = $savedSearch->id; $searchModel->setAnyMixedAttributesScope('xyz'); $kanbanBoard = new KanbanBoard(new AAA(), 'industry'); $kanbanBoard->setIsActive(); $kanbanBoard->setGroupByAttributeVisibleValues(array('c', 'd')); $kanbanBoard->setSelectedTheme('red'); $searchModel->setKanbanBoard($kanbanBoard); $searchModel->getListAttributesSelector()->setSelected(array('aaaMember', 'aaaMember2')); $dataCollection = new SavedSearchAttributesDataCollection($searchModel); SavedSearchUtil::setDataByKeyAndDataCollection('abc', $dataCollection, array()); $stickyData = StickySearchUtil::getDataByKey('abc'); $compareData = array('dynamicClauses' => array('a', 'b'), 'dynamicStructure' => '1 and 5', 'anyMixedAttributes' => 'abcdef', 'anyMixedAttributesScope' => 'xyz', 'savedSearchId' => $savedSearch->id, SearchForm::SELECTED_LIST_ATTRIBUTES => array('aaaMember', 'aaaMember2'), 'groupByAttributeVisibleValues' => array('c', 'd'), 'selectedTheme' => 'red'); $this->assertEquals($compareData, $stickyData); $searchModel = new AAASavedDynamicSearchFormTestModel(new AAA(false)); $kanbanBoard = new KanbanBoard(new AAA(), 'industry'); $searchModel->setKanbanBoard($kanbanBoard); $listAttributesSelector = new ListAttributesSelector('AListView', 'TestModule'); $searchModel->setListAttributesSelector($listAttributesSelector); SavedSearchUtil::resolveSearchFormByStickyDataAndModel($stickyData, $searchModel); $this->assertEquals('something', $searchModel->savedSearchName); $this->assertEquals($savedSearch->id, $searchModel->savedSearchId); $this->assertEquals('abcdef', $searchModel->anyMixedAttributes); $this->assertEquals('xyz', $searchModel->getAnyMixedAttributesScope()); $this->assertEquals('1 and 5', $searchModel->dynamicStructure); $this->assertEquals(array('a', 'b'), $searchModel->dynamicClauses); $this->assertEquals(array('aaaMember', 'aaaMember2'), $searchModel->getListAttributesSelector()->getSelected()); $this->assertEquals(array('c', 'd'), $searchModel->getKanbanBoard()->getGroupByAttributeVisibleValues()); $this->assertEquals('red', $searchModel->getKanbanBoard()->getSelectedTheme()); }
public function actionClearStickySearch($key) { StickySearchUtil::clearDataByKey($key); }