/** * */ public function testPrivateContestForContestAdmin() { $r = new Request(); // Create new private contest $contestData = ContestsFactory::createContest(null, false); // Get a user for our scenario $contestant = UserFactory::createUser(); // Add user to our private contest ContestsFactory::addAdminUser($contestData, $contestant); $r["auth_token"] = $this->login($contestant); $response = ContestController::apiList($r); // Assert our contest is there $this->assertTitleInList($response, $contestData); }
/** * Test that contests with recommended flag show first in list. */ public function testRecommendedShowsOnTop() { $r = new Request(); // Create 2 contests, with the not-recommended.finish_time > recommended.finish_time $recommendedContestData = ContestsFactory::createContest(); $notRecommendedContestData = ContestsFactory::createContest(null, 0, null, $recommendedContestData['request']['finish_time'] + 1); // Get a user for our scenario $contestant = UserFactory::createUser(); // Turn recommended ON $r = new Request(); $r['contest_alias'] = $recommendedContestData['request']['alias']; $r['auth_token'] = $this->login(UserFactory::createAdminUser()); $r['value'] = 1; ContestController::apiSetRecommended($r); // Get list of contests $r['auth_token'] = $this->login($contestant); $response = ContestController::apiList($r); // Check that recommended contest is earlier in list han not-recommended $recommendedPosition = 0; $notRecommendedPosition = 0; foreach ($response['results'] as $contest) { if ($contest['title'] == $recommendedContestData['request']['title']) { break; } $recommendedPosition++; } foreach ($response['results'] as $contest) { if ($contest['title'] == $notRecommendedContestData['request']['title']) { break; } $notRecommendedPosition++; } $this->assertTrue($recommendedPosition < $notRecommendedPosition); }