webinventory_tests/selenium/registration_test.py
2018-09-10 22:55:13 +03:00

47 lines
2.0 KiB
Python

from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.keys import Keys
from django.core import mail
from django.contrib.auth.models import User
from registration.models import Activation
from django.urls import reverse
import time
class MySeleniumTests(StaticLiveServerTestCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.selenium = WebDriver()
cls.selenium.implicitly_wait(10)
cls.selenium.maximize_window()
@classmethod
def tearDownClass(cls):
cls.selenium.quit()
super().tearDownClass()
def test_login(self):
self.selenium.get('%s%s' % (self.live_server_url, '/registration/'))
elem = self.selenium.find_element_by_name("username")
elem.send_keys("test_user")
elem = self.selenium.find_element_by_name("email")
elem.send_keys("test_user@test.ru")
elem = self.selenium.find_element_by_name("password1")
elem.send_keys("qwerty123")
elem = self.selenium.find_element_by_name("password2")
elem.send_keys("qwerty123", Keys.RETURN)
time.sleep(1)
user = User.objects.get(username="test_user")
self.assertEqual(str(user), "test_user")
key = Activation.objects.all()[0]
act_url = key.get_absolute_url()
# print(mail.outbox[0].body)
self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].subject, "Deplodock. Завершение регистрации.")
self.assertEqual(mail.outbox[0].to[0], "test_user@test.ru")
self.assertRegexpMatches(mail.outbox[0].body, key.activation_key)
self.selenium.get('%s%s' % (self.live_server_url, act_url))
text = self.selenium.find_element_by_tag_name("body").text
self.assertEqual(text, "%s, ваш аккаунт активирован. Перейти в личный кабинет" % user)