# -*- coding: utf-8 -*- """ CCX coach dashboard page """ from bok_choy.promise import EmptyPromise from common.test.acceptance.pages.lms.course_page import CoursePage class CoachDashboardPage(CoursePage): """ CCX coach dashboard, where ccx coach can manage a course. """ url_path = "ccx_coach" def is_browser_on_page(self): """ check if ccx dashboard is open. """ return self.q(css='div.instructor-dashboard-wrapper-2').present def is_browser_on_enrollment_page(self): """ check if enrollment page in ccx dashboard is open. """ return self.q(css='div.batch-enrollment').present def fill_ccx_name_text_box(self, ccx_name): """ Fill in the form with the provided ccx name and submit it. """ ccx_name_selector = "#ccx_name" create_ccx_button = "#create-ccx" # Fill the ccx_name. self.wait_for_element_visibility(ccx_name_selector, 'CCX name field is visible') self.q(css=ccx_name_selector).fill(ccx_name) # Verify create ccx button is present before clicking. EmptyPromise( lambda: self.q(css=create_ccx_button).present, "Create a new Custom Course for edX" ).fulfill() self.q(css=create_ccx_button).click() def is_button_view_unit_in_studio_visible(self): """ check if the View Unit in Studio button is on the page """ return self.q(css='instructor-info-action').present