UPD: dav_registration: tests.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user