|
@ -1,85 +0,0 @@ |
|
|
from django.test import SimpleTestCase, TestCase, RequestFactory, override_settings |
|
|
|
|
|
from django.http import HttpRequest |
|
|
|
|
|
from ..views import SignupView |
|
|
|
|
|
from django.conf import settings |
|
|
|
|
|
from api.tests.test_config import setenv |
|
|
|
|
|
|
|
|
|
|
|
@override_settings(STATICFILES_STORAGE='django.contrib.staticfiles.storage.StaticFilesStorage') |
|
|
|
|
|
class AddCSSTemplateTagTest(SimpleTestCase): |
|
|
|
|
|
|
|
|
|
|
|
def test_rendered(self): |
|
|
|
|
|
with setenv('ALLOW_SIGNUP', 'True'): |
|
|
|
|
|
request = HttpRequest() |
|
|
|
|
|
request.method = 'GET' |
|
|
|
|
|
needle = '<input type="password" name="password1" class=" input" required id="id_password1">' |
|
|
|
|
|
self.assertInHTML(needle, str(SignupView.as_view()(request, as_string=True).content)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override_settings(STATICFILES_STORAGE='django.contrib.staticfiles.storage.StaticFilesStorage') |
|
|
|
|
|
class ViewsTest(SimpleTestCase): |
|
|
|
|
|
"""Class for testing views""" |
|
|
|
|
|
|
|
|
|
|
|
def test_mail_not_set_up(self): |
|
|
|
|
|
with setenv('ALLOW_SIGNUP', 'True'): |
|
|
|
|
|
if hasattr(settings, 'EMAIL_HOST'): |
|
|
|
|
|
has_EMAIL_HOST = True |
|
|
|
|
|
EMAIL_HOST = settings.EMAIL_HOST |
|
|
|
|
|
delattr(settings, 'EMAIL_HOST') |
|
|
|
|
|
else: |
|
|
|
|
|
has_EMAIL_HOST = False |
|
|
|
|
|
|
|
|
|
|
|
if hasattr(settings, 'EMAIL_BACKEND'): |
|
|
|
|
|
has_EMAIL_BACKEND = True |
|
|
|
|
|
EMAIL_BACKEND = settings.EMAIL_BACKEND |
|
|
|
|
|
delattr(settings, 'EMAIL_BACKEND') |
|
|
|
|
|
else: |
|
|
|
|
|
has_EMAIL_BACKEND = False |
|
|
|
|
|
|
|
|
|
|
|
request = HttpRequest() |
|
|
|
|
|
request.method = 'POST' |
|
|
|
|
|
response = SignupView.as_view()(request, as_string=True) |
|
|
|
|
|
|
|
|
|
|
|
if has_EMAIL_HOST: |
|
|
|
|
|
settings.EMAIL_HOST = EMAIL_HOST |
|
|
|
|
|
if has_EMAIL_BACKEND: |
|
|
|
|
|
settings.EMAIL_BACKEND = EMAIL_BACKEND |
|
|
|
|
|
needle = "<span>has not set up any emails</span>" |
|
|
|
|
|
self.assertInHTML(needle, str(response.content)) |
|
|
|
|
|
|
|
|
|
|
|
def test_signup_not_allowed(self): |
|
|
|
|
|
with setenv('ALLOW_SIGNUP', 'True'): |
|
|
|
|
|
ALLOW_SIGNUP = settings.ALLOW_SIGNUP |
|
|
|
|
|
settings.ALLOW_SIGNUP = False |
|
|
|
|
|
request = HttpRequest() |
|
|
|
|
|
request.method = 'POST' |
|
|
|
|
|
response = SignupView.as_view()(request, as_string=True) |
|
|
|
|
|
settings.ALLOW_SIGNUP = ALLOW_SIGNUP |
|
|
|
|
|
self.assertEqual(response.status_code, 302) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@override_settings(STATICFILES_STORAGE='django.contrib.staticfiles.storage.StaticFilesStorage') |
|
|
|
|
|
class ViewsDBTest(TestCase): |
|
|
|
|
|
"""Class for testing views with DB queries""" |
|
|
|
|
|
|
|
|
|
|
|
def test_form_submission(self): |
|
|
|
|
|
with setenv('ALLOW_SIGNUP', 'True'): |
|
|
|
|
|
self.factory = RequestFactory() |
|
|
|
|
|
if hasattr(settings, 'EMAIL_BACKEND'): |
|
|
|
|
|
EMAIL_BACKEND = settings.EMAIL_BACKEND |
|
|
|
|
|
else: |
|
|
|
|
|
EMAIL_BACKEND = False |
|
|
|
|
|
|
|
|
|
|
|
settings.EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' |
|
|
|
|
|
request = self.factory.post('/signup') |
|
|
|
|
|
request.POST = {'username': 'username5648', |
|
|
|
|
|
'email': 'email@example.com', |
|
|
|
|
|
'password1': 'pwd0000Y00$$', |
|
|
|
|
|
'password2': 'pwd0000Y00$$' |
|
|
|
|
|
} |
|
|
|
|
|
response = SignupView.as_view()(request) |
|
|
|
|
|
needle = '<span>emailed you instructions to activate your account</span>' |
|
|
|
|
|
if not EMAIL_BACKEND: |
|
|
|
|
|
delattr(settings, 'EMAIL_BACKEND') |
|
|
|
|
|
else: |
|
|
|
|
|
settings.EMAIL_BACKEND = EMAIL_BACKEND |
|
|
|
|
|
self.assertInHTML(needle, str(response.content)) |
|
|
|