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.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

View File

@@ -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)