diff --git a/openedx/tests/xblock_integration/pages/crowdsourcehinter_problem.py b/openedx/tests/xblock_integration/pages/crowdsourcehinter_problem.py index 006a67df14..7d0a25bf97 100644 --- a/openedx/tests/xblock_integration/pages/crowdsourcehinter_problem.py +++ b/openedx/tests/xblock_integration/pages/crowdsourcehinter_problem.py @@ -1,10 +1,26 @@ +""" +PageObject for Crowdsourcehinter +""" from bok_choy.page_object import PageObject class CrowdsourcehinterProblemPage(PageObject): + """ + A PageObject representing the Crowdsourcehinter xblock. + """ url = None + def __init__(self, browser, context_selector): + """ + Args: + browser (selenium.webdriver): The Selenium-controlled browser that this page is loaded in. + """ + super(CrowdsourcehinterProblemPage, self).__init__(browser) + if isinstance(context_selector, unicode): + context_selector = context_selector.encode('utf-8') + self.context_selector = context_selector + def is_browser_on_page(self): return len(self.browser.find_elements_by_class_name('crowdsourcehinter_block')) > 0 @@ -23,13 +39,22 @@ class CrowdsourcehinterProblemPage(PageObject): return self.q(css='div.csh_hint_text').text def get_student_answer_text(self): + """ + Check the student answer is set correctly + """ return self.q(css='div.csh_hint_text').attrs('student_answer') def rate_hint(self): + """ + Click the rate_hint button + """ self.q(css='div.csh_rate_hint').click() self.wait_for_ajax() def submit_new_hint(self, text): + """ + Fill in the textbox and submit a new hint + """ self.q(css='.csh_student_hint_creation input[type="button"]').click() self.wait_for_ajax() self.q(css='.csh_student_text_input input[type="text"]').fill(text) diff --git a/openedx/tests/xblock_integration/test_crowdsourcehinter_problem.py b/openedx/tests/xblock_integration/test_crowdsourcehinter_problem.py index 4fee5a43f7..2d67d658dd 100644 --- a/openedx/tests/xblock_integration/test_crowdsourcehinter_problem.py +++ b/openedx/tests/xblock_integration/test_crowdsourcehinter_problem.py @@ -4,7 +4,7 @@ Javascript tests for the crowdsourcehinter xblock from textwrap import dedent from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.pages.lms.courseware import CoursewarePage -from pages.crowdsourcehinter_problem import CrowdsourcehinterProblemPage +from openedx.tests.xblock_integration.pages.crowdsourcehinter_problem import CrowdsourcehinterProblemPage from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage from common.test.acceptance.tests.helpers import UniqueCourseTest