コード例 #1
0
 /**
  * Get contest details for a public contest
  */
 public function testGetContestDetailsValid()
 {
     // Get a contest
     $contestData = ContestsFactory::createContest();
     // Get some problems into the contest
     $numOfProblems = 3;
     $problems = $this->insertProblemsInContest($contestData, $numOfProblems);
     // Get a user for our scenario
     $contestant = UserFactory::createUser();
     // Assert the log is empty.
     $this->assertEquals(0, count(ContestAccessLogDAO::search(array('contest_id' => $contestData['contest']->contest_id, 'user_id' => $contestant->user_id))));
     // Prepare our request
     $r = new Request();
     $r['contest_alias'] = $contestData['request']['alias'];
     // Log in the user
     $r['auth_token'] = $this->login($contestant);
     // Explicitly join contest
     ContestController::apiOpen($r);
     // Call api
     $response = ContestController::apiDetails($r);
     $this->assertContestDetails($contestData, $problems, $response);
     // Assert the log is not empty.
     $this->assertEquals(1, count(ContestAccessLogDAO::search(array('contest_id' => $contestData['contest']->contest_id, 'user_id' => $contestant->user_id))));
 }