def setUp(self): super(ScheduleAndDetailsLinks, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) self.course_info = get_course_info() self.settings_page = SettingsPageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'] ) self.grading_page = GradingPageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'] ) self.group_configuration = GroupConfigurationsPage( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'] ) self.advanced_settings = AdvancedSettingsPage( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'] ) self.course_team_page = UsersPageMixin(self.browser)
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): """ 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(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()
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 setUp(self): super(CoursePagesTest, self).setUp() self.course_info = get_course_info() login_api = StudioLoginApi() login_api.authenticate(self.browser) self.pages_page = PagesPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'])
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 setUp(self): super(CourseHandoutTest, self).setUp() login_api = StudioLoginApi() login_api.authenticate(self.browser) self.course_info = get_course_info() self.course_update_page = CourseUpdatesPageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.course_update_page.visit()
def setUp(self): super(ScheduleAndDetailsTest, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) self.course_info = get_course_info() self.settings_page = SettingsPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.settings_page.visit()
def test_asset_crud(self): studio_login = StudioLoginApi() studio_login.authenticate(self.browser) course_info = get_course_info() asset_page = AssetIndexPageExtended( self.browser, course_info['org'], course_info['number'], course_info['run'] ) asset_page.visit() file_names = ['README.rst', 'test_pdf.pdf'] # The course should start with no assets uploaded. # There is a bit of Uncertainty Principle here, as we are # using the feature itself to set up the course context. # TODO: this should be replaced when we have a better # mechanism for setting up courses for testing. asset_page.delete_all_assets() # Put the course in a known state # There should be no uploaded assets self.assertEqual(asset_page.asset_files_count, 0) # Upload the files asset_page.open_upload_file_prompt() upload_new_file(asset_page, file_names) # Assert that the files have been uploaded. self.assertEqual(file_names, asset_page.asset_files_names) # Verify that a file can be locked asset_page.set_asset_lock() # Get the list of locked assets, there should be one locked_assets = asset_page.asset_locks(locked_only=True) self.assertEqual(len(locked_assets), 1) # Confirm that there are 2 assets, with the first # locked and the second unlocked. all_assets = asset_page.asset_locks(locked_only=False) self.assertEqual(len(all_assets), 2) self.assertTrue(all_assets[0].get_attribute('checked')) self.assertIsNone(all_assets[1].get_attribute('checked')) # Verify that the files can be deleted for name in asset_page.asset_files_names: asset_page.delete_asset_named(name) # Assert files have been deleted. self.assertNotIn(name, asset_page.asset_files_names) # There should now be no uploaded assets self.assertEqual(asset_page.asset_files_count, 0)
def setUp(self): super(CourseUpdateTest, self).setUp() login_api = StudioLoginApi() login_api.authenticate(self.browser) self.course_info = get_course_info() self.course_update_page = CourseUpdatesPageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.course_update_page.visit() self.course_update_content_selector = '#course-update-list li' \ ' .post-preview .update-contents' self.course_update_text = 'New update:{}'.format(uuid4().hex)
def setUp(self): super(CourseHandoutTest, self).setUp() login_api = StudioLoginApi() login_api.authenticate(self.browser) self.course_info = get_course_info() self.course_update_page = CourseUpdatesPageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'] ) self.course_update_page.visit()
def setUp(self): super(ScheduleAndDetailsTest, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) self.course_info = get_course_info() self.settings_page = SettingsPageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'] ) self.settings_page.visit()
def setUp(self): """ Initialize the page object """ super(StudioHomeTest, self).setUp() login_api = StudioLoginApi() login_api.authenticate(self.browser) self.studio_home_page = DashboardPageExtended(self.browser) self.course_info = get_course_info() self.studio_course_outline = CourseOutlinePage( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'])
def setUp(self): """ Initialize the page object """ super(TestVideoUploadHelp, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) self.course_info = get_course_info() self.video_upload_page = VideoUploadPage(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.video_upload_page.visit()
def setUp(self): """ Initialize the page object """ super(TestVideoUploadHelp, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) self.course_info = get_course_info() self.video_upload_page = VideoUploadPage( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.video_upload_page.visit()
def setUp(self): super(TextbookTest, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) lms_login = LmsLoginApi() lms_login.authenticate(self.browser) self.lms_textbook = TextbookPage(self.browser) self.course_info = get_course_info() self.textbook_page = TextbookPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.textbook_page.visit()
def setUp(self): """ Initialize the page object """ super(StudioFooterTest, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) self.terms_of_service = TermsOfService(self.browser) self.privacy_policy = PrivacyPolicy(self.browser) self.studio_home_page = DashboardPageExtended(self.browser) self.course_info = get_course_info() self.studio_course_outline = CourseOutlinePage( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.studio_home_page.visit()
def setUp(self): super(PagesTestWithLms, self).setUp() self.course_info = get_course_info() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) lms_login = LmsLoginApi() lms_login.authenticate(self.browser) self.pages_page = PagesPageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'] ) self.pages_page.visit()
def setUp(self): super(CourseUpdateTest, self).setUp() login_api = StudioLoginApi() login_api.authenticate(self.browser) self.course_info = get_course_info() self.course_update_page = CourseUpdatesPageExtended( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run'] ) self.course_update_page.visit() self.course_update_content_selector = '#course-update-list li' \ ' .post-preview .update-contents' self.course_update_text = 'New update:{}'.format(uuid4().hex)
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()
def setUp(self): super(PagesTestWithLms, self).setUp() self.course_info = get_course_info() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) lms_login = LmsLoginApi() lms_login.authenticate(self.browser) self.course_page = CourseInfoPageExtended( self.browser, get_course_key(self.course_info)) self.courseware_page = CoursewarePageExtended( self.browser, get_course_key(self.course_info)) self.pages_page = PagesPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) # Login to LMS to avoid authentication issue self.course_page.visit() self.pages_page.visit()
def setUp(self): super(TextbookTest, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) lms_login = LmsLoginApi() lms_login.authenticate(self.browser) self.lms_textbook = TextbookPage(self.browser) self.course_info = get_course_info() self.textbook_page = TextbookPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.textbook_page.visit() self.textbook_name = 'book_{}'.format(uuid4().hex) self.chapter_name = 'chap_1' # Add textbook self.add_textbook()
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(ScheduleAndDetailsLinks, self).setUp() studio_login = StudioLoginApi() studio_login.authenticate(self.browser) self.course_info = get_course_info() self.settings_page = SettingsPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.grading_page = GradingPageExtended(self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.group_configuration = GroupConfigurationsPage( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.advanced_settings = AdvancedSettingsPage( self.browser, self.course_info['org'], self.course_info['number'], self.course_info['run']) self.course_team_page = UsersPageMixin(self.browser)