Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 17 additions & 14 deletions src/tests/functional/test_competitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
from tasks.models import Task
from ..utils import SeleniumTestCase

SHORT_WAIT = 0.1
LONG_WAIT = 2


class TestCompetitions(SeleniumTestCase):
def setUp(self):
Expand Down Expand Up @@ -64,16 +67,16 @@ def test_manual_competition_creation(self):
self.execute_script('$("select[selenium=\'type\']").dropdown("set selected", "scoring_program")')
self.find('input-file[selenium="file"] input').send_keys(os.path.join(self.test_files_dir, 'scoring_program.zip'))
self.find('i[selenium="upload"]').click()
sleep(LONG_WAIT)

sleep(2)
# Task Creation
self.find('div[data-tab="tasks"]').click()
self.find('div[selenium="create-task"]').click()
self.find('input[selenium="name2"]').send_keys('nAmE')
self.find('textarea[selenium="task-desc"]').send_keys('textbox')
self.find('div[data-tab="data"]').click()
self.find('input[id="scoring_program"]').send_keys('sco')
sleep(.5)
sleep(LONG_WAIT)
self.execute_script('$("div[selenium=\'scoring-program\'] a")[0].click()')
self.find('div[selenium="save-task"]').click()

Expand All @@ -87,43 +90,43 @@ def test_manual_competition_creation(self):
# Participation Tab
self.find('a[data-tab="participation"]').click()
self.execute_script('$("textarea[ref=\'terms\']")[0].EASY_MDE.value("pArTiCiPaTe")')
sleep(2)
sleep(LONG_WAIT)
self.find('input[selenium="auto-approve"]').click()

# Pages Tab
self.find('a[data-tab="pages"]').click()
self.find('i[class="add icon"]').click()
self.find('input[selenium="title"]').send_keys('Title')
self.execute_script('$("textarea[ref=\'content\']")[0].EASY_MDE.value("Testing123")')
sleep(1)
sleep(LONG_WAIT)
self.find('div[selenium="save1"]').click()
sleep(1)
sleep(LONG_WAIT)

# Phases Tab
self.find('a[data-tab="phases"]').click()
self.find('i[selenium="add-phase"]').click()
sleep(1)
sleep(LONG_WAIT)
self.find('form[selenium="phase-form"] input[name="name"]').send_keys('Name')
sleep(.1)
sleep(SHORT_WAIT)
self.find('input[name="start"]').click()
self.find('input[name="start"]').send_keys(2)
self.find('input[name="start"]').send_keys(Keys.ENTER)
self.find('input[name="end"]').send_keys(3)
self.find('input[name="end"]').send_keys(Keys.ENTER)
self.find('label[for="tasks"]').click()
sleep(.1)
sleep(SHORT_WAIT)
self.find("form[selenium='phase-form'] input.search").send_keys("Wheat")
sleep(.1)
sleep(SHORT_WAIT)
tasks = Task.objects.all()
import random
random_task = random.choice(tasks)
task = random_task.key
self.find(f"form[selenium='phase-form'] .menu .item[data-value='{task}']").click()
self.execute_script('$("textarea[ref=\'description\']")[0].EASY_MDE.value("Testing123")')
self.find('form[selenium="phase-form"] input[name="name"]').send_keys('Name')
sleep(1)
sleep(LONG_WAIT)
self.find('div[selenium="save2"]').click()
sleep(1)
sleep(LONG_WAIT)

# Leaderboard Tab
leaderboard_title = 'tItLe'
Expand All @@ -132,12 +135,12 @@ def test_manual_competition_creation(self):
self.find('input[selenium="title1"]').send_keys(leaderboard_title)
self.find('input[selenium="key"]').send_keys('kEy')
self.find('div[selenium="add-column"]').click()
sleep(1)
sleep(LONG_WAIT)
self.find('input[selenium="column-key"]').send_keys('cOlUmN kEy')
self.find('input[selenium="hidden"]').click()
self.find('div[selenium="save3"]').click()
sleep(2)
sleep(LONG_WAIT)
assert not Competition.objects.filter(title=competition_title).exists()
self.find('button[selenium="save4"]').click()
sleep(1)
sleep(LONG_WAIT)
assert Competition.objects.filter(title=competition_title).exists()