/** * @dataProvider updateDataProvider * @param int $roleId * @param array $filters * @param bool $isAjax * @param mixed $param */ public function testUpdate($roleId, $filters, $isAjax, $param) { $this->_request->expects($this->any())->method('getParam')->will($this->returnValueMap(array(array('role_id', null, $roleId), array('filter', '', $filters)))); $this->_request->expects($this->any())->method('isAjax')->will($this->returnValue($isAjax)); if ($param) { $this->_collection->expects($this->once())->method('addFieldToFilter')->with('role_id', $param); } else { $this->_collection->expects($this->never())->method('addFieldToFilter'); } /** @var Mage_Webapi_Model_Acl_Role_UsersUpdater $model */ $model = $this->_helper->getModel('Mage_Webapi_Model_Acl_Role_UsersUpdater', array('request' => $this->_request, 'backendHelper' => $this->_backendHelper)); $this->assertEquals($this->_collection, $model->update($this->_collection)); }
/** * Add filtering users by role. * * @param Mage_Webapi_Model_Resource_Acl_User_Collection $collection * @return Mage_Webapi_Model_Resource_Acl_User_Collection */ public function update($collection) { if ($this->_roleId) { switch ($this->_inRoleUsersFilter) { case self::IN_ROLE_USERS_YES: $collection->addFieldToFilter('role_id', $this->_roleId); break; case self::IN_ROLE_USERS_NO: $collection->addFieldToFilter('role_id', array(array('neq' => $this->_roleId), array('is' => new Zend_Db_Expr('NULL')))); break; } } return $collection; }