public static function addProblemToContest($problemData, $contestData) { // Create an empty request $r = new Request(); // Log in as contest director $r['auth_token'] = OmegaupTestCase::login($contestData['director']); // Build request $r['contest_alias'] = $contestData['request']['alias']; $r['problem_alias'] = $problemData['request']['alias']; $r['points'] = 100; $r['order_in_contest'] = 1; // Call API $response = ContestController::apiAddProblem($r); // Clean up unset($_REQUEST); }
/** * Add too many problems to a contest. */ public function testAddTooManyProblemsToContest() { // Get a contest $contestData = ContestsFactory::createContest(); $auth_token = $this->login($contestData["director"]); for ($i = 0; $i < MAX_PROBLEMS_IN_CONTEST + 1; $i++) { // Get a problem $problemData = ProblemsFactory::createProblemWithAuthor($contestData['director']); // Build request $r = new Request(array("auth_token" => $auth_token, "contest_alias" => $contestData["contest"]->alias, "problem_alias" => $problemData["request"]["alias"], "points" => 100, "order_in_contest" => $i + 1)); try { // Call API $response = ContestController::apiAddProblem($r); $this->assertLessThan(MAX_PROBLEMS_IN_CONTEST, $i); // Validate $this->assertEquals("ok", $response["status"]); self::assertProblemAddedToContest($problemData, $contestData, $r); } catch (ApiException $e) { $this->assertEquals($e->getMessage(), "contestAddproblemTooManyProblems"); $this->assertEquals($i, MAX_PROBLEMS_IN_CONTEST); } } }