def privacy(self, privacy): """ Set user profile privacy. Arguments: privacy (str): 'all_users' or 'private' """ self.wait_for_element_visibility('select#u-field-select-account_privacy', 'Privacy dropdown is visible') if privacy != self.privacy: query = self.q(css=PROFILE_VISIBILITY_INPUT) select_option_by_value(query, privacy, focus_out=True) EmptyPromise(lambda: privacy == self.privacy, 'Privacy is set to {}'.format(privacy)).fulfill() self.wait_for_ajax() if privacy == 'all_users': self.wait_for_public_fields()
def privacy(self, privacy): """ Set user profile privacy. Arguments: privacy (str): 'all_users' or 'private' """ self.wait_for_element_visibility('select#u-field-select-account_privacy', 'Privacy dropdown is visible') if privacy != self.privacy: query = self.q(css=PROFILE_VISIBILITY_INPUT) select_option_by_value(query, privacy) EmptyPromise(lambda: privacy == self.privacy, u'Privacy is set to {}'.format(privacy)).fulfill() self.q(css='.btn-change-privacy').first.click() self.wait_for_ajax() if privacy == 'all_users': self.wait_for_public_fields()
def test_prerequisite_course_save_successfully(self): """ Scenario: Selecting course from Pre-Requisite course drop down save the selected course as pre-requisite course. Given that I am on the Schedule & Details page on studio When I select an item in pre-requisite course drop down and click Save Changes button Then My selected item should be saved as pre-requisite course And My selected item should be selected after refreshing the page.' """ course_number = self.unique_id CourseFixture(org='test_org', number=course_number, run='test_run', display_name='Test Course' + course_number).install() pre_requisite_course_key = generate_course_key(org='test_org', number=course_number, run='test_run') pre_requisite_course_id = unicode(pre_requisite_course_key) # Refresh the page to load the new course fixture and populate the prrequisite course dropdown # Then select the prerequisite course and save the changes self.settings_detail.refresh_page() self.settings_detail.wait_for_prerequisite_course_options() select_option_by_value( browser_query=self.settings_detail.pre_requisite_course_options, value=pre_requisite_course_id) self.settings_detail.save_changes() self.assertEqual('Your changes have been saved.', self.settings_detail.alert_confirmation_title.text) # Refresh the page again and confirm the prerequisite course selection is properly reflected self.settings_detail.refresh_page() self.settings_detail.wait_for_prerequisite_course_options() self.assertTrue( is_option_value_selected(browser_query=self.settings_detail. pre_requisite_course_options, value=pre_requisite_course_id)) # Set the prerequisite course back to None and save the changes select_option_by_value( browser_query=self.settings_detail.pre_requisite_course_options, value='') self.settings_detail.save_changes() self.assertEqual('Your changes have been saved.', self.settings_detail.alert_confirmation_title.text) # Refresh the page again to confirm the None selection is properly reflected self.settings_detail.refresh_page() self.settings_detail.wait_for_prerequisite_course_options() self.assertTrue( is_option_value_selected(browser_query=self.settings_detail. pre_requisite_course_options, value='')) # Re-pick the prerequisite course and confirm no errors are thrown (covers a discovered bug) select_option_by_value( browser_query=self.settings_detail.pre_requisite_course_options, value=pre_requisite_course_id) self.settings_detail.save_changes() self.assertEqual('Your changes have been saved.', self.settings_detail.alert_confirmation_title.text) # Refresh the page again to confirm the prerequisite course selection is properly reflected self.settings_detail.refresh_page() self.settings_detail.wait_for_prerequisite_course_options() dropdown_status = is_option_value_selected( browser_query=self.settings_detail.pre_requisite_course_options, value=pre_requisite_course_id) self.assertTrue(dropdown_status)
def test_prerequisite_course_save_successfully(self): """ Scenario: Selecting course from Pre-Requisite course drop down save the selected course as pre-requisite course. Given that I am on the Schedule & Details page on studio When I select an item in pre-requisite course drop down and click Save Changes button Then My selected item should be saved as pre-requisite course And My selected item should be selected after refreshing the page.' """ course_number = self.unique_id CourseFixture( org='test_org', number=course_number, run='test_run', display_name='Test Course' + course_number ).install() pre_requisite_course_key = generate_course_key( org='test_org', number=course_number, run='test_run' ) pre_requisite_course_id = unicode(pre_requisite_course_key) # Refresh the page to load the new course fixture and populate the prrequisite course dropdown # Then select the prerequisite course and save the changes self.settings_detail.refresh_page() self.settings_detail.wait_for_prerequisite_course_options() select_option_by_value( browser_query=self.settings_detail.pre_requisite_course_options, value=pre_requisite_course_id ) self.settings_detail.save_changes() self.assertEqual( 'Your changes have been saved.', self.settings_detail.alert_confirmation_title.text ) # Refresh the page again and confirm the prerequisite course selection is properly reflected self.settings_detail.refresh_page() self.settings_detail.wait_for_prerequisite_course_options() self.assertTrue(is_option_value_selected( browser_query=self.settings_detail.pre_requisite_course_options, value=pre_requisite_course_id )) # Set the prerequisite course back to None and save the changes select_option_by_value( browser_query=self.settings_detail.pre_requisite_course_options, value='' ) self.settings_detail.save_changes() self.assertEqual( 'Your changes have been saved.', self.settings_detail.alert_confirmation_title.text ) # Refresh the page again to confirm the None selection is properly reflected self.settings_detail.refresh_page() self.settings_detail.wait_for_prerequisite_course_options() self.assertTrue(is_option_value_selected( browser_query=self.settings_detail.pre_requisite_course_options, value='' )) # Re-pick the prerequisite course and confirm no errors are thrown (covers a discovered bug) select_option_by_value( browser_query=self.settings_detail.pre_requisite_course_options, value=pre_requisite_course_id ) self.settings_detail.save_changes() self.assertEqual( 'Your changes have been saved.', self.settings_detail.alert_confirmation_title.text ) # Refresh the page again to confirm the prerequisite course selection is properly reflected self.settings_detail.refresh_page() self.settings_detail.wait_for_prerequisite_course_options() dropdown_status = is_option_value_selected( browser_query=self.settings_detail.pre_requisite_course_options, value=pre_requisite_course_id ) self.assertTrue(dropdown_status)