Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding=utf-8
- from django.conf import settings
- from django.core.urlresolvers import reverse
- from django.contrib.staticfiles.testing import StaticLiveServerTestCase
- # from selenium.webdriver.firefox.webdriver import WebDriver
- from selenium.webdriver.chrome.webdriver import WebDriver
- from selenium.webdriver.support.wait import WebDriverWait
- from mock import Mock, MagicMock, patch
- from model_mommy import mommy
- from geos.models import Location
- from django.contrib.auth import get_user_model
- DEFAULT_WAIT = 5
- User = get_user_model()
- mocked_gateway = MagicMock(return_value=True)
- class LoginSeleniumTest(StaticLiveServerTestCase):
- @classmethod
- def setUpClass(cls):
- super(LoginSeleniumTest, cls).setUpClass()
- cls.browser = WebDriver()
- # cls.browser.implicitly_wait(DEFAULT_WAIT)
- @classmethod
- def tearDownClass(cls):
- cls.browser.quit()
- super(LoginSeleniumTest, cls).tearDownClass()
- @patch('accounts.models.User.send_activation', mocked_gateway)
- def test_registration(self):
- Location.objects.create(id=settings.DEFAULT_LOCATION_ID, name=u'unknown')
- phone = u'1112223344'
- email = u'pass@pass.com'
- username = u'Test user'
- password = '1337'
- url = reverse('user:registration')
- self.browser.get('%s%s' % (self.live_server_url, url))
- name_input = self.browser.find_element_by_css_selector('#register-name > input')
- name_input.send_keys(username)
- email_input = self.browser.find_element_by_css_selector('#register-email > input')
- email_input.send_keys(email)
- phone_input = self.browser.find_element_by_css_selector('#register-tel > input')
- phone_input.send_keys(phone)
- password_input = self.browser.find_element_by_css_selector('#register-password_repeat > input[name="password"]')
- password_input.send_keys(password)
- password_confirm_input = self.browser.find_element_by_css_selector('#register-password_repeat > input[name="password_repeat"]')
- password_confirm_input.send_keys(password)
- register_rules_input = self.browser.find_element_by_id('register_rules')
- register_rules_input.click()
- self.browser.find_element_by_css_selector('input[name="register_1"]').click() # submit_form
- WebDriverWait(self.browser, DEFAULT_WAIT).until(lambda driver: driver.find_element_by_tag_name('body'))
- self.assertEqual(User.objects.count(), 1)
- user = User.objects.last()
- self.assertEqual(user.name, username)
- self.assertEqual(user.email, email)
- self.assertEqual(user.tel, int(phone))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement