public function testGetUserLeaderboardData() { $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $pointTypeAndValueData = array('some type' => 400); GamePointUtil::addPointsByPointData(Yii::app()->user->userModel, $pointTypeAndValueData); Yii::app()->gameHelper->processDeferredPoints(); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_WEEKLY); $this->assertTrue(Yii::app()->gameHelper->enabled); //test to see if enabled when running all tests $this->assertTrue(count($data) > 0); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_MONTHLY); $this->assertTrue(count($data) > 0); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_OVERALL); $this->assertTrue(count($data) > 0); }
public function actionLeaderboard($type = null) { if ($type == null) { $type = GamePointUtil::LEADERBOARD_TYPE_WEEKLY; } if ($type == GamePointUtil::LEADERBOARD_TYPE_WEEKLY) { $activeActionElementType = 'LeaderboardWeeklyLink'; } elseif ($type == GamePointUtil::LEADERBOARD_TYPE_MONTHLY) { $activeActionElementType = 'LeaderboardMonthlyLink'; } elseif ($type == GamePointUtil::LEADERBOARD_TYPE_OVERALL) { $activeActionElementType = 'LeaderboardOverallLink'; } else { throw new NotSupportedException(); } $view = new TitleBarAndLeaderboardView($this->getId(), $this->getModule()->getId(), GamePointUtil::getUserLeaderboardData($type), $activeActionElementType); $view = new LeaderboardPageView(ZurmoDefaultViewUtil::makeStandardViewForCurrentUser($this, $view)); echo $view->render(); }
public function testGetUserLeaderboardData() { $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $pointTypeAndValueData = array('some type' => 400); GamePointUtil::addPointsByPointData(Yii::app()->user->userModel, $pointTypeAndValueData); Yii::app()->gameHelper->processDeferredPoints(); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_WEEKLY); $this->assertTrue(Yii::app()->gameHelper->enabled); //test to see if enabled when running all tests $this->assertTrue(count($data) > 0); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_MONTHLY); $this->assertTrue(count($data) > 0); //Now test with new user, calling to that specific user $sally = UserTestHelper::createBasicUser('sally'); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_OVERALL, 1, null, null, $sally); $this->assertTrue(count($data) == 0); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_WEEKLY, 1, null, null, $sally); $this->assertTrue(count($data) == 0); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_MONTHLY, 1, null, null, $sally); $this->assertTrue(count($data) == 0); $data = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_OVERALL, 1, null, null, $sally); $this->assertTrue(count($data) == 0); }
/** * @param string $type * @param null|int $offset * @param null|int $count * @return array */ public static function getUserLeaderboardData($type, $offset = null, $count = null) { assert('is_string($type)'); assert('$offset === null || is_integer($offset) && $offset >= 0'); assert('$count === null || is_integer($count) && $count >= 1'); $leaderboardData = GamePointUtil::getUserLeaderboardData($type, $offset + 1, $offset, $count); $resolvedLeaderboardData = array(); foreach ($leaderboardData as $userId => $data) { $data['userId'] = $userId; $resolvedLeaderboardData[] = $data; } return $resolvedLeaderboardData; }
/** * test for checking hideFromLeaderboard attribute */ public function testHideFromLeaderboardOnUserSave() { $user = new User(); $user->username = '******'; $user->title->value = 'Mr.'; $user->firstName = 'My'; $user->lastName = 'leaderboard'; $user->hideFromLeaderboard = true; $user->setPassword('myuser'); $this->assertTrue($user->save()); unset($user); $user = User::getByUsername('leaderboard'); Yii::app()->user->userModel = $user; $pointTypeAndValueData = array('some type' => 400); GamePointUtil::addPointsByPointData(Yii::app()->user->userModel, $pointTypeAndValueData); Yii::app()->gameHelper->processDeferredPoints(); $user = User::getByUsername('leaderboard'); $this->assertEquals(1, $user->hideFromLeaderboard); unset($user); $userSet = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_OVERALL); $this->assertEquals(0, count($userSet)); $user = User::getByUsername('leaderboard'); $user->hideFromLeaderboard = false; $this->assertTrue($user->save()); unset($user); $user = User::getByUsername('leaderboard'); $this->assertEquals(0, $user->hideFromLeaderboard); unset($user); $userSet = GamePointUtil::getUserLeaderboardData(GamePointUtil::LEADERBOARD_TYPE_OVERALL); $this->assertTrue(count($userSet) > 0); }