UPD: dav_registration: tests.

This commit is contained in:
2019-05-29 16:49:05 +02:00
parent d8919f3394
commit a189f5dbe6
2 changed files with 31 additions and 21 deletions

View File

@@ -4,6 +4,7 @@ from django.apps import apps
from django.contrib.auth.models import AbstractUser from django.contrib.auth.models import AbstractUser
from django.contrib.staticfiles.testing import StaticLiveServerTestCase from django.contrib.staticfiles.testing import StaticLiveServerTestCase
from django.core import mail as django_mail from django.core import mail as django_mail
from django.core.exceptions import ValidationError
from django.test import SimpleTestCase, TestCase, tag from django.test import SimpleTestCase, TestCase, tag
from django.urls import reverse from django.urls import reverse
from selenium import webdriver from selenium import webdriver
@@ -209,6 +210,24 @@ class UrlsTestCase(SimpleTestCase):
'Getting url named \'{}\' resolve to wrong function'.format(url.name)) 'Getting url named \'{}\' resolve to wrong function'.format(url.name))
class ValidatorTestMixin(object):
def assertValid(self, validator, data):
for val in data:
try:
validator(val)
except ValidationError as e: # pragma: no cover
self.fail('%s: %s' % (val, e))
def assertInvalid(self, validator, data):
for val in data:
try:
validator(val)
except ValidationError:
pass
else: # pragma: no cover
self.fail('%s: no ValidationError was raised' % val)
class SeleniumTestCase(StaticLiveServerTestCase): class SeleniumTestCase(StaticLiveServerTestCase):
headless = True headless = True
window_width = 1024 window_width = 1024

View File

@@ -1,12 +1,15 @@
from django.core.exceptions import ValidationError
from django.test import SimpleTestCase from django.test import SimpleTestCase
from dav_base.tests.generic import ValidatorTestMixin
from ..validators import DAVNumberValidator from ..validators import DAVNumberValidator
class TestCase(SimpleTestCase): class DAVNumberValidatorTestCase(ValidatorTestMixin, SimpleTestCase):
def test_dav_number_validator(self): validator = DAVNumberValidator
valid_data = (
def test_valid_data(self):
data = (
'131/00/1', '131/00/1',
'1', '1',
'22', '22',
@@ -19,7 +22,10 @@ class TestCase(SimpleTestCase):
'54321*54321*4321*4321', '54321*54321*4321*4321',
'54321*54321*4321*4321*87654321', '54321*54321*4321*4321*87654321',
) )
invalid_data = ( self.assertValid(self.validator, data)
def test_invalid_data(self):
data = (
'131/00/', '131/00/',
'1/1/1', '1/1/1',
'1/1', '1/1',
@@ -28,19 +34,4 @@ class TestCase(SimpleTestCase):
'abc/00/131', 'abc/00/131',
'131/ab/131', '131/ab/131',
) )
self.assertInvalid(self.validator, data)
v = DAVNumberValidator
for val in valid_data:
try:
v(val)
except ValidationError as e: # pragma: no cover
self.fail('%s: %s' % (val, e))
for val in invalid_data:
try:
v(val)
except ValidationError:
pass
else: # pragma: no cover
self.fail('%s: no ValidationError was raised' % val)