コード例 #1
0
ファイル: GamePointUtilTest.php プロジェクト: youprofit/Zurmo
 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);
 }
コード例 #2
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();
 }
コード例 #3
0
 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);
 }
コード例 #4
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;
 }
コード例 #5
0
ファイル: UserTest.php プロジェクト: youprofit/Zurmo
 /**
  * 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);
 }