decorate_url
decorate_url copied to clipboard
Adding tests
Here's a test that will verify that the url functions have indeed been decorated:
from django.test import TestCase
from django.conf.urls import url, include
from functools import wraps
from core.url_utils import decorated_url
def spy_decorator(func):
@wraps(func)
def wrap(self, *args, **kwargs):
return func(*args, **kwargs)
wrap.__spy__ = "spied"
return wrap
class TestDecoratedUrl(TestCase):
def test_urls_get_decorated(self):
urls = [
url(r'^$', lambda r: "Huzzah!", name='test_url_resolver'),
]
res = decorated_url(r'^foo/', include(urls), wrap=[spy_decorator])
self.assertEqual(res.resolve('foo/').func.__spy__, 'spied')
self.assertTrue(res)