Add tests for admin usage

This commit is contained in:
Sebastien Corbin
2020-04-18 20:48:06 +02:00
parent 2be2c4dcc6
commit cf2ad535e1
2 changed files with 12 additions and 4 deletions

View File

@@ -4,6 +4,7 @@
""" """
import json import json
from django.conf import settings
from django.template.loader import render_to_string from django.template.loader import render_to_string
from django import forms from django import forms
from django.core import validators from django.core import validators
@@ -11,7 +12,7 @@ from django.core.exceptions import ValidationError
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from jsignature.settings import JSIGNATURE_DEFAULT_CONFIG, JSIGNATURE_JQUERY from jsignature.settings import JSIGNATURE_DEFAULT_CONFIG
JSIGNATURE_EMPTY_VALUES = validators.EMPTY_VALUES + ('[]', ) JSIGNATURE_EMPTY_VALUES = validators.EMPTY_VALUES + ('[]', )
@@ -34,6 +35,7 @@ class JSignatureWidget(forms.HiddenInput):
@property @property
def media(self): def media(self):
JSIGNATURE_JQUERY = getattr(settings, 'JSIGNATURE_JQUERY', 'custom')
files = () files = ()
if JSIGNATURE_JQUERY == 'admin': if JSIGNATURE_JQUERY == 'admin':
files = ( files = (

View File

@@ -1,7 +1,7 @@
import json import json
from pyquery import PyQuery as pq from pyquery import PyQuery as pq
from django.test import SimpleTestCase from django.test import SimpleTestCase, override_settings
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from jsignature.widgets import JSignatureWidget from jsignature.widgets import JSignatureWidget
@@ -16,18 +16,24 @@ except ImportError:
class JSignatureWidgetTest(SimpleTestCase): class JSignatureWidgetTest(SimpleTestCase):
def test_default_media(self): def test_default_media(self):
widget = JSignatureWidget() widget = JSignatureWidget()
media = widget.media media = widget.media
media_js = list(media.render_js()) media_js = list(media.render_js())
self.assertEqual(3, len(media_js)) self.assertEqual(2, len(media_js))
media_js_str = "".join(media_js) media_js_str = "".join(media_js)
self.assertIn('jSignature.min.js', media_js_str) self.assertIn('jSignature.min.js', media_js_str)
self.assertIn('django_jsignature.js', media_js_str) self.assertIn('django_jsignature.js', media_js_str)
media_css = list(media.render_css()) media_css = list(media.render_css())
self.assertEquals([], media_css) self.assertEquals([], media_css)
@override_settings(JSIGNATURE_JQUERY='admin')
def test_media_in_admin(self):
widget = JSignatureWidget()
media = widget.media
media_js = list(media.render_js())
self.assertEqual(4, len(media_js))
def test_init(self): def test_init(self):
w = JSignatureWidget() w = JSignatureWidget()
self.assertEquals({}, w.jsignature_attrs) self.assertEquals({}, w.jsignature_attrs)