def test_register_user(self): """An unregistered user can register with valid user details.""" page = RegistrationPage(self) page.go_to() fields = page.get_fields() # Try to submit an empty form and check for validation errors. page.try_submit(err=['username', 'email', 'password1', 'password2']) # Fill in required fields one by one, try to submit and check # for errors. fields = page.get_fields() fields['username'].send_keys('user3') page.try_submit( err=['email', 'password1', 'password2'], ok=['username'], ) fields = page.get_fields() fields['email'].send_keys('*****@*****.**') page.try_submit( err=['password1', 'password2'], ok=['username', 'email'], ) fields = page.get_fields() fields['password1'].send_keys('very_secret') page.try_submit( err=['password2'], ok=['username', 'email', 'password1'], ) fields = page.get_fields() fields['password2'].send_keys('not_very_secret') page.try_submit(err=['password2'], ok=['username', 'email', 'password1'], message='This value should be the same.') # Fill in extra fields, fill in final required form and submit fields = page.get_fields() fields['full_name'].send_keys('User Three') fields['password1'].clear() fields['password1'].send_keys('very_secret') fields['password2'].clear() fields['password2'].send_keys('very_secret') self.click_through(fields['register'], self.BY_DASHBOARD) self.assert_has_message('alert', "signed in") dashboard_page = DashboardPage(self) assert dashboard_page.is_on_page() dashboard_page.get_dashboard_map() self.logout() # Log in as new user sign_in = LoginPage(self).setup('user3', 'very_secret') self.click_through(sign_in, self.BY_ALERT) assert dashboard_page.is_on_page() dashboard_page.get_dashboard_map()
def test_register_user(self): """An unregistered user can register with valid user details.""" page = RegistrationPage(self) page.go_to() fields = page.get_fields() # Try to submit an empty form and check for validation errors. page.try_submit(err=['username', 'email', 'password1', 'password2']) # Fill in required fields one by one, try to submit and check # for errors. fields = page.get_fields() fields['username'].send_keys('user3') page.try_submit(err=['email', 'password1', 'password2'], ok=['username'],) fields = page.get_fields() fields['email'].send_keys('*****@*****.**') page.try_submit(err=['password1', 'password2'], ok=['username', 'email'],) fields = page.get_fields() fields['password1'].send_keys('very_secret') page.try_submit(err=['password2'], ok=['username', 'email', 'password1'],) fields = page.get_fields() fields['password2'].send_keys('not_very_secret') page.try_submit(err=['password2'], ok=['username', 'email', 'password1'], message='This value should be the same.') # Fill in extra fields, fill in final required form and submit fields = page.get_fields() fields['full_name'].send_keys('User Three') fields['password1'].clear() fields['password1'].send_keys('very_secret') fields['password2'].clear() fields['password2'].send_keys('very_secret') self.click_through(fields['register'], self.BY_DASHBOARD) self.assert_has_message('alert', "signed in") dashboard_page = DashboardPage(self) assert dashboard_page.is_on_page() dashboard_page.get_dashboard_map() self.logout() # Log in as new user sign_in = LoginPage(self).setup('user3', 'very_secret') self.click_through(sign_in, self.BY_ALERT) assert dashboard_page.is_on_page() dashboard_page.get_dashboard_map()
def test_valid_login(self): """A registered user can log in with their username and password and log out again. The logged in and logged out states are persistent across page refreshes.""" sign_in_button = LoginPage(self).setup( self.test_data['users'][0]['username'], self.test_data['users'][0]['password'], ) self.click_through(sign_in_button, self.BY_DASHBOARD) dashboard_page = DashboardPage(self) assert dashboard_page.is_on_page() dashboard_page.get_dashboard_map() self.browser.refresh() self.wait_for_no_alerts() dashboard_page.get_dashboard_map() self.logout() self.browser.refresh() self.wait_for_no_alerts() assert LoginPage(self).is_on_page()