def setUp(self): """ Common setup for component tests """ super(StudioLmsComponentBaseTest, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) lms_login = LmsLoginApi() lms_login.authenticate(self.browser) self.unit_container_page = UnitPageExtended(self.browser, None) self.studio_home_page = DashboardPageExtended(self.browser) self.course_info = get_course_info() self.studio_course_outline = CourseOutlinePageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.lms_courseware = CoursewarePageExtended( self.browser, get_course_key(self.course_info)) self.studio_course_outline.visit() # Delete any existing sections self.studio_course_outline.delete_all_sections()
def setUp(self): super(TestCourseImport, self).setUp() login_api = StudioLoginApi() login_api.authenticate(self.browser) self.course_info = get_course_info() self.import_page = ImportCoursePageExtended(*self.page_args()) self.course_outline_page = CourseOutlinePageExtended(*self.page_args())
def clean_up_function(self): """ Clean up function to clean the course """ super(StudioBaseTestClass, self).tearDown() course_info = get_course_info() pages_page = PagesPageExtended(self.browser, course_info['org'], course_info['number'], course_info['run']) course_update_page = CourseUpdatesPageExtended(self.browser, course_info['org'], course_info['number'], course_info['run']) grading_page = GradingPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) studio_course_outline = CourseOutlinePageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) textbook_page = TextbookPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) login_api = StudioLoginApi() login_api.authenticate(self.browser) pages_page.visit() if pages_page.get_custom_page_count() > 0: pages_page.wait_for_the_visibility_of_new_page() pages_page.delete_all_pages() if pages_page.toggle_wiki_page_show_value() is False: pages_page.toggle_wiki_page_display() self.assertTrue(pages_page.toggle_wiki_page_show_value()) course_update_page.visit() course_update_page.delete_all_course_updates() grading_page.visit() grading_page.remove_all_grades() grading_page.delete_all_assignment_types() studio_course_outline.visit() studio_course_outline.make_sure_only_one_section_is_present() textbook_page.visit() textbook_page.delete_all_textbooks()
def test_course_outline(self): """ Verifies that user can click Edit Start Date button and is navigated to Schedule and Details page, and that the Help link for 'Learn more about content visibility settings' is working. """ studio_login_page = StudioLogin(self.browser) studio_home_page = DashboardPageExtended(self.browser) studio_login_page.visit() studio_login_page.login(DEMO_COURSE_USER, DEMO_COURSE_PASSWORD) course_info = get_course_info() studio_course_outline = CourseOutlinePageExtended( self.browser, course_info['org'], course_info['number'], course_info['run']) schedule_page = SettingsPageExtended(self.browser, course_info['org'], course_info['number'], course_info['run']) # Verification only, should be on this page after login. studio_home_page.wait_for_page() # Navigate to the course's outline page studio_home_page.select_course(get_course_display_name()) studio_course_outline.wait_for_page() # First verify the Help link expected_href = 'https://edx.readthedocs.io/projects/' \ 'edx-partner-course-staff/en/latest/' \ 'developing_course/controlling_content_visibility.html' # Assert that help link is correct. assert_side_bar_help_link( test=self, page=studio_course_outline, href=expected_href, help_text='Learn more about content visibility settings', as_list_item=False) # If the help page is still up (see LT-53), then close it. if self.browser.current_url.startswith('https://edx.readthedocs.io'): # TODO wrap this in a try/except block or otherwise harden, # make sure that you now have an active window (the other one) # and it's the right one (i.e. Studio or LMS) self.browser.close() # close only the current window self.browser.switch_to_window(self.browser.window_handles[0]) # Now do the verification for the edit start date button. studio_course_outline.click_edit_start_date_button() # This wait_for_page will also assert that we are on the correct page. schedule_page.wait_for_page()
def setUp(self): """ Initialize the page object """ super(StudioGradingTest, self).setUp() login_api = StudioLoginApi() login_api.authenticate(self.browser) self.course_info = get_course_info() self.grading_page = GradingPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.studio_course_outline = CourseOutlinePageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.grading_page.visit()
def setUp(self): super(DashboardTest, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) lms_login = LmsLoginApi() lms_login.authenticate(self.browser) self.studio_home_page = DashboardPageExtended(self.browser) self.course_info = get_course_info() self.studio_course_outline = CourseOutlinePageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.lms_courseware = CoursewarePageExtended( self.browser, get_course_key(self.course_info)) self.course_page = CourseHomePageExtended(self.browser, get_course_info()) self.dashboard_page = DashboardPageExtended(self.browser) self.dashboard_page.visit()