Files
edx-platform/common/test/acceptance/pages/studio/settings.py
2015-01-15 20:35:24 -05:00

69 lines
2.0 KiB
Python

"""
Course Schedule and Details Settings page.
"""
from bok_choy.promise import EmptyPromise
from .course_page import CoursePage
from .utils import press_the_notification_button
class SettingsPage(CoursePage):
"""
Course Schedule and Details Settings page.
"""
url_path = "settings/details"
def is_browser_on_page(self):
return self.q(css='body.view-settings').present
@property
def pre_requisite_course(self):
"""
Returns the pre-requisite course drop down field.
"""
return self.q(css='#pre-requisite-course')
@property
def entrance_exam_field(self):
"""
Returns the enable entrance exam checkbox.
"""
return self.q(css='#entrance-exam-enabled').execute()
def require_entrance_exam(self, required=True):
"""
Set the entrance exam requirement via the checkbox.
"""
checkbox = self.entrance_exam_field[0]
selected = checkbox.is_selected()
if required and not selected:
checkbox.click()
self.wait_for_element_visibility(
'#entrance-exam-minimum-score-pct',
'Entrance exam minimum score percent is visible'
)
if not required and selected:
checkbox.click()
self.wait_for_element_invisibility(
'#entrance-exam-minimum-score-pct',
'Entrance exam minimum score percent is visible'
)
def save_changes(self, wait_for_confirmation=True):
"""
Clicks save button, waits for confirmation unless otherwise specified
"""
press_the_notification_button(self, "save")
if wait_for_confirmation:
EmptyPromise(
lambda: self.q(css='#alert-confirmation-title').present,
'Waiting for save confirmation...'
).fulfill()
def refresh_page(self):
"""
Reload the page.
"""
self.browser.refresh()