diff --git a/common/test/acceptance/pages/studio/signup.py b/common/test/acceptance/pages/studio/signup.py
index 0178f66ca3..66a013ac1c 100644
--- a/common/test/acceptance/pages/studio/signup.py
+++ b/common/test/acceptance/pages/studio/signup.py
@@ -18,6 +18,10 @@ class SignupPage(PageObject, HelpMixin):
def is_browser_on_page(self):
return self.q(css='body.view-signup').visible
+ def input_password(self, password):
+ """Inputs a password and then returns the password input"""
+ return set_input_value(self, '#password', password)
+
def sign_up_user(self, registration_dictionary):
"""
Register the user.
diff --git a/common/test/acceptance/tests/studio/test_studio_general.py b/common/test/acceptance/tests/studio/test_studio_general.py
index 08c10386d0..8dfbcb4c7f 100644
--- a/common/test/acceptance/tests/studio/test_studio_general.py
+++ b/common/test/acceptance/tests/studio/test_studio_general.py
@@ -3,6 +3,8 @@ Acceptance tests for Studio.
"""
import uuid
+from selenium.webdriver.common.keys import Keys
+
from base_studio_test import StudioCourseTest
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
@@ -128,6 +130,24 @@ class SignUpAndSignInTest(UniqueCourseTest):
home = HomePage(self.browser)
home.wait_for_page()
+ def test_sign_up_with_bad_password(self):
+ """
+ Scenario: Sign up from the homepage
+ Given I visit the Studio homepage
+ When I click the link with the text "Sign Up"
+ And I fill in the registration form
+ When I enter an insufficient password and focus out
+ I should see an error message
+ """
+ index_page = IndexPage(self.browser)
+ index_page.visit()
+ index_page.click_sign_up()
+
+ password_input = self.sign_up_page.input_password('a') # Arbitrary short password that will fail
+ password_input.send_keys(Keys.TAB) # Focus out of the element
+ index_page.wait_for_element_visibility('#password_error', 'Password Error Message')
+ self.assertIsNotNone(index_page.q(css='#password_error').text) # Make sure there is an error message
+
def test_login_with_valid_redirect(self):
"""
Scenario: Login with a valid redirect