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.staticfiles.testing import StaticLiveServerTestCase
|
||||
from django.core import mail as django_mail
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.test import SimpleTestCase, TestCase, tag
|
||||
from django.urls import reverse
|
||||
from selenium import webdriver
|
||||
@@ -209,6 +210,24 @@ class UrlsTestCase(SimpleTestCase):
|
||||
'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):
|
||||
headless = True
|
||||
window_width = 1024
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.test import SimpleTestCase
|
||||
|
||||
from dav_base.tests.generic import ValidatorTestMixin
|
||||
|
||||
from ..validators import DAVNumberValidator
|
||||
|
||||
|
||||
class TestCase(SimpleTestCase):
|
||||
def test_dav_number_validator(self):
|
||||
valid_data = (
|
||||
class DAVNumberValidatorTestCase(ValidatorTestMixin, SimpleTestCase):
|
||||
validator = DAVNumberValidator
|
||||
|
||||
def test_valid_data(self):
|
||||
data = (
|
||||
'131/00/1',
|
||||
'1',
|
||||
'22',
|
||||
@@ -19,7 +22,10 @@ class TestCase(SimpleTestCase):
|
||||
'54321*54321*4321*4321',
|
||||
'54321*54321*4321*4321*87654321',
|
||||
)
|
||||
invalid_data = (
|
||||
self.assertValid(self.validator, data)
|
||||
|
||||
def test_invalid_data(self):
|
||||
data = (
|
||||
'131/00/',
|
||||
'1/1/1',
|
||||
'1/1',
|
||||
@@ -28,19 +34,4 @@ class TestCase(SimpleTestCase):
|
||||
'abc/00/131',
|
||||
'131/ab/131',
|
||||
)
|
||||
|
||||
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)
|
||||
self.assertInvalid(self.validator, data)
|
||||
|
||||
Reference in New Issue
Block a user