def test_lms_language_change(self): """ Scenario: Ensure that language selection is working fine. First I go to the user dashboard page in LMS. I can see 'English' is selected by default. Then I choose 'Dummy Language' from drop down (at top of the page). Then I visit the student account settings page and I can see the language has been updated to 'Dummy Language' in both drop downs. After that I select the 'English' language and visit the dashboard page again. Then I can see that top level language selector persist its value to 'English'. """ self.dashboard_page.visit() language_selector = self.dashboard_page.language_selector self.assertEqual(get_selected_option_text(language_selector), u'English') select_option_by_text(language_selector, 'Dummy Language (Esperanto)') self.dashboard_page.wait_for_ajax() self.account_settings.visit() self.assertEqual( self.account_settings.value_for_dropdown_field('pref-lang'), u'Dummy Language (Esperanto)') self.assertEqual(get_selected_option_text(language_selector), u'Dummy Language (Esperanto)') # changed back to English language. select_option_by_text(language_selector, 'English') self.account_settings.wait_for_ajax() self.assertEqual( self.account_settings.value_for_dropdown_field('pref-lang'), u'English') self.dashboard_page.visit() self.assertEqual(get_selected_option_text(language_selector), u'English')
def selected_partition_scheme(self): """ Return the selected partition scheme (or "All Learners and Staff" if no partitioning is selected). """ selector = self.q(css=self._bounded_selector('.partition-visibility select')) return get_selected_option_text(selector)
def get_cohort_associated_content_group(self): """ Returns the content group associated with the cohort currently being edited. If no content group is associated, returns None. """ self.select_cohort_settings() radio_button = self.q(css=self._bounded_selector(self.no_content_group_button_css)).results[0] if radio_button.is_selected(): return None return get_selected_option_text(self.q(css=self._bounded_selector(self.content_group_selector_css)))
def test_studio_language_change(self): """ Scenario: Ensure that language selection is working fine. First I go to the user dashboard page in studio. I can see 'English' is selected by default. Then I choose 'Dummy Language' from drop down (at top of the page). Then I visit the student account settings page and I can see the language has been updated to 'Dummy Language' in both drop downs. """ dummy_language = u'Dummy Language (Esperanto)' self.dashboard_page.visit() language_selector = self.dashboard_page.language_selector self.assertEqual(get_selected_option_text(language_selector), u'English') select_option_by_text(language_selector, dummy_language) self.dashboard_page.wait_for_ajax() self.account_settings.visit() self.assertEqual( self.account_settings.value_for_dropdown_field('pref-lang'), dummy_language) self.assertEqual(get_selected_option_text(language_selector), u'Dummy Language (Esperanto)')
def test_lms_language_change(self): """ Scenario: Ensure that language selection is working fine. First I go to the user dashboard page in LMS. I can see 'English' is selected by default. Then I choose 'Dummy Language' from drop down (at top of the page). Then I visit the student account settings page and I can see the language has been updated to 'Dummy Language' in both drop downs. After that I select the 'English' language and visit the dashboard page again. Then I can see that top level language selector persist its value to 'English'. """ self.dashboard_page.visit() language_selector = self.dashboard_page.language_selector self.assertEqual( get_selected_option_text(language_selector), u'English' ) select_option_by_text(language_selector, 'Dummy Language (Esperanto)') self.dashboard_page.wait_for_ajax() self.account_settings.visit() self.assertEqual(self.account_settings.value_for_dropdown_field('pref-lang'), u'Dummy Language (Esperanto)') self.assertEqual( get_selected_option_text(language_selector), u'Dummy Language (Esperanto)' ) # changed back to English language. select_option_by_text(language_selector, 'English') self.account_settings.wait_for_ajax() self.assertEqual(self.account_settings.value_for_dropdown_field('pref-lang'), u'English') self.dashboard_page.visit() self.assertEqual( get_selected_option_text(language_selector), u'English' )
def test_studio_language_change(self): """ Scenario: Ensure that language selection is working fine. First I go to the user dashboard page in studio. I can see 'English' is selected by default. Then I choose 'Dummy Language' from drop down (at top of the page). Then I visit the student account settings page and I can see the language has been updated to 'Dummy Language' in both drop downs. """ dummy_language = u'Dummy Language (Esperanto)' self.dashboard_page.visit() language_selector = self.dashboard_page.language_selector self.assertEqual( get_selected_option_text(language_selector), u'English' ) select_option_by_text(language_selector, dummy_language) self.dashboard_page.wait_for_ajax() self.account_settings.visit() self.assertEqual(self.account_settings.value_for_dropdown_field('pref-lang'), dummy_language) self.assertEqual( get_selected_option_text(language_selector), u'Dummy Language (Esperanto)' )
def value_for_dropdown_field(self, field_id, value=None, focus_out=False): """ Get or set the value in a dropdown field. """ self.wait_for_field(field_id) self.make_field_editable(field_id) query = self.q(css=u'.u-field-{} select'.format(field_id)) if not query.present: return None if value is not None: select_option_by_text(query, value, focus_out) if self.mode_for_field(field_id) == 'edit': return get_selected_option_text(query) else: return self.get_non_editable_mode_value(field_id)
def value_for_dropdown_field(self, field_id, value=None, focus_out=False): """ Get or set the value in a dropdown field. """ self.wait_for_field(field_id) self.make_field_editable(field_id) query = self.q(css='.u-field-{} select'.format(field_id)) if not query.present: return None if value is not None: select_option_by_text(query, value, focus_out) if self.mode_for_field(field_id) == 'edit': return get_selected_option_text(query) else: return self.get_non_editable_mode_value(field_id)