public function testSetUnsetPreferences() { $preferences = array(); $preferences[0] = 'alpha'; $preferences[4] = 'gamma'; $preferences[99] = 'beta'; $prefs = array(); foreach ($preferences as $key => $value) { $prefs[$key] = $value; } Api_Dao_AppPrefs::createAppPrefs(PREFERENCES_AID_1, PREFERENCES_UID_2, $prefs); $appPrefs = Api_Dao_AppPrefs::getAppPrefsByAppIdAndUserId(PREFERENCES_AID_1, PREFERENCES_UID_2); $prefs = json_decode($appPrefs[0]->value, true); $this->assertEquals(json_encode($preferences), $appPrefs[0]->value); foreach ($preferences as $key => $value) { $this->assertEquals($value, $prefs[$key]); unset($prefs[$key]); Api_Dao_AppPrefs::updateAppPrefs(PREFERENCES_AID_1, PREFERENCES_UID_2, $prefs); $checkPref = Api_Dao_AppPrefs::getAppPrefsByAppIdAndUserId(PREFERENCES_AID_1, PREFERENCES_UID_2); $checkPrefs = json_decode($checkPref[0]->value, true); $this->assertEquals(null, $checkPrefs[$key]); $checkPref = null; } }
/** * Saves the provided App Pref * * @param unknown_type $appId * @param unknown_type $userId * @param unknown_type $prefs * @return unknown */ public static function saveAppPrefs($appId, $userId, $prefs) { $hasPrefs = self::hasAppPrefs($appId, $userId); // New pref? $ret = 0; if ($hasPrefs) { $ret = Api_Dao_AppPrefs::updateAppPrefs($appId, $userId, $prefs); } else { $ret = Api_Dao_AppPrefs::createAppPrefs($appId, $userId, $prefs); } if (false === $ret || 0 == $ret) { return false; } return true; }