diff --git a/common/test/acceptance/pages/lms/fields.py b/common/test/acceptance/pages/lms/fields.py index 891f183d18..766e6a928c 100644 --- a/common/test/acceptance/pages/lms/fields.py +++ b/common/test/acceptance/pages/lms/fields.py @@ -72,15 +72,15 @@ class FieldsMixin(object): self.wait_for_field(field_id) # pylint: disable=unicode-format-string query = self.q(css=six.u('.u-field-{} .u-field-title').format(field_id)) - return sorted(query.text)[0] if query.present else None + return query.text[0] if query.present else None def message_for_field(self, field_id): """ Return the current message in a field. """ self.wait_for_field(field_id) - - query = self.q(css=u'.u-field-{} .u-field-message'.format(field_id)) + # pylint: disable=unicode-format-string + query = self.q(css=six.u('.u-field-{} .u-field-message'.format(field_id))) return query.text[0] if query.present else None def message_for_textarea_field(self, field_id): @@ -159,8 +159,8 @@ class FieldsMixin(object): Get or set the value of a text field. """ self.wait_for_field(field_id) - - query = self.q(css=u'.u-field-{} input'.format(field_id)) + # pylint: disable=unicode-format-string + query = self.q(css=six.u('.u-field-{} input'.format(field_id))) if not query.present: return None @@ -249,3 +249,10 @@ class FieldsMixin(object): """ query = self.q(css=u'.u-field-{}.error'.format(field_id)) return True if query.present else False + + def get_social_first_element(self): + """ + Returns the title of first social media link. + """ + query = self.q(css=six.u('.u-field-social_links > .field > .field-label')) + return query[0].text diff --git a/common/test/acceptance/tests/lms/test_account_settings.py b/common/test/acceptance/tests/lms/test_account_settings.py index 80d0740167..a0a361e460 100644 --- a/common/test/acceptance/tests/lms/test_account_settings.py +++ b/common/test/acceptance/tests/lms/test_account_settings.py @@ -408,12 +408,18 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, AcceptanceTest): """ Test behaviour of one of the social media links field. """ + first_social_media_link = self.account_settings_page.get_social_first_element() + + valid_value = six.u('https://www.twitter.com/edX') + if 'face' in first_social_media_link.lower(): + valid_value = six.u('https://www.facebook.com/edX') + self._test_text_field( six.u('social_links'), - six.u('Facebook Link'), + first_social_media_link, self.social_link, six.u('www.google.com/invalidlink)'), - [six.u('https://www.twitter.com/edX'), self.social_link], + [valid_value, self.social_link], ) def test_linked_accounts(self):