Advertisement
Guest User

test_selenium.py

a guest
Jun 27th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.66 KB | None | 0 0
  1. # coding=utf-8
  2.  
  3. from django.conf import settings
  4. from django.core.urlresolvers import reverse
  5. from django.contrib.staticfiles.testing import StaticLiveServerTestCase
  6.  
  7. # from selenium.webdriver.firefox.webdriver import WebDriver
  8. from selenium.webdriver.chrome.webdriver import WebDriver
  9. from selenium.webdriver.support.wait import WebDriverWait
  10. from mock import Mock, MagicMock, patch
  11. from model_mommy import mommy
  12.  
  13. from geos.models import Location
  14. from django.contrib.auth import get_user_model
  15.  
  16. DEFAULT_WAIT = 5
  17.  
  18. User = get_user_model()
  19.  
  20. mocked_gateway = MagicMock(return_value=True)
  21.  
  22.  
  23. class LoginSeleniumTest(StaticLiveServerTestCase):
  24.  
  25.     @classmethod
  26.     def setUpClass(cls):
  27.         super(LoginSeleniumTest, cls).setUpClass()
  28.         cls.browser = WebDriver()
  29.         # cls.browser.implicitly_wait(DEFAULT_WAIT)
  30.  
  31.     @classmethod
  32.     def tearDownClass(cls):
  33.         cls.browser.quit()
  34.         super(LoginSeleniumTest, cls).tearDownClass()
  35.  
  36.     @patch('accounts.models.User.send_activation', mocked_gateway)
  37.     def test_registration(self):
  38.  
  39.         Location.objects.create(id=settings.DEFAULT_LOCATION_ID, name=u'unknown')
  40.  
  41.         phone = u'1112223344'
  42.         email = u'pass@pass.com'
  43.         username = u'Test user'
  44.         password = '1337'
  45.  
  46.         url = reverse('user:registration')
  47.         self.browser.get('%s%s' % (self.live_server_url, url))
  48.  
  49.         name_input = self.browser.find_element_by_css_selector('#register-name > input')
  50.         name_input.send_keys(username)
  51.  
  52.         email_input = self.browser.find_element_by_css_selector('#register-email > input')
  53.         email_input.send_keys(email)
  54.  
  55.         phone_input = self.browser.find_element_by_css_selector('#register-tel > input')
  56.         phone_input.send_keys(phone)
  57.  
  58.         password_input = self.browser.find_element_by_css_selector('#register-password_repeat > input[name="password"]')
  59.         password_input.send_keys(password)
  60.         password_confirm_input = self.browser.find_element_by_css_selector('#register-password_repeat > input[name="password_repeat"]')
  61.         password_confirm_input.send_keys(password)
  62.  
  63.         register_rules_input = self.browser.find_element_by_id('register_rules')
  64.         register_rules_input.click()
  65.  
  66.         self.browser.find_element_by_css_selector('input[name="register_1"]').click() # submit_form
  67.         WebDriverWait(self.browser, DEFAULT_WAIT).until(lambda driver: driver.find_element_by_tag_name('body'))
  68.  
  69.         self.assertEqual(User.objects.count(), 1)
  70.         user = User.objects.last()
  71.         self.assertEqual(user.name, username)
  72.         self.assertEqual(user.email, email)
  73.         self.assertEqual(user.tel, int(phone))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement