Files
edx-platform/common/test/acceptance/pages/lms/peer_calibrate.py
2019-12-30 12:25:38 -05:00

45 lines
1.2 KiB
Python

"""
Page that allows the student to grade calibration essays
(requirement for being allowed to grade peers).
"""
from bok_choy.page_object import PageObject
from bok_choy.promise import Promise
class PeerCalibratePage(PageObject):
"""
Grade calibration essays.
"""
url = None
def is_browser_on_page(self):
def _is_correct_page():
is_present = (
self.q(css='div.peer-grading-tools').present or
self.q(css='div.calibration-panel.current-state').present
)
return is_present, is_present
return Promise(_is_correct_page, 'On the peer grading calibration page.').fulfill()
def continue_to_grading(self):
"""
Continue to peer grading after completing calibration.
"""
self.q(css='input.calibration-feedback-button').first.click()
@property
def message(self):
"""
Return a message shown to the user, or None if no message is available.
"""
messages = self.q(css='div.peer-grading-tools > div.message-container > p').text
if len(messages) < 1:
return None
else:
return messages[0]