From f503013b0f4c14bd7b5b8f95b6c0a167b62da1bf Mon Sep 17 00:00:00 2001 From: Bojan Mihelac Date: Fri, 30 Mar 2012 15:11:57 +0200 Subject: [PATCH] Add failing tests for #27. Raises MultipleObjectsReturned with sites --- dbtemplates/tests.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/dbtemplates/tests.py b/dbtemplates/tests.py index 9f68021..f5741d7 100644 --- a/dbtemplates/tests.py +++ b/dbtemplates/tests.py @@ -4,9 +4,10 @@ import os import shutil import tempfile +from django.conf import settings as django_settings from django.core.cache.backends.base import BaseCache from django.core.management import call_command -from django.template import loader, Context +from django.template import loader, Context, TemplateDoesNotExist from django.test import TestCase from django.contrib.sites.models import Site @@ -59,6 +60,28 @@ class DbTemplatesTestCase(TestCase): finally: settings.DBTEMPLATES_ADD_DEFAULT_SITE = old_add_default_site + def test_load_templates_sites(self): + old_add_default_site = settings.DBTEMPLATES_ADD_DEFAULT_SITE + old_site_id = django_settings.SITE_ID + try: + settings.DBTEMPLATES_ADD_DEFAULT_SITE = False + t_site1 = Template.objects.create( + name='copyright.html', content='(c) example.com') + t_site1.sites.add(self.site1) + t_site2 = Template.objects.create( + name='copyright.html', content='(c) example.org') + t_site2.sites.add(self.site2) + + django_settings.SITE_ID = Site.objects.create( + domain="example.net", name="example.net").id + Site.objects.clear_cache() + + with self.assertRaises(TemplateDoesNotExist): + loader.get_template("copyright.html") + finally: + django_settings.SITE_ID = old_site_id + settings.DBTEMPLATES_ADD_DEFAULT_SITE = old_add_default_site + def test_load_templates(self): result = loader.get_template("base.html").render(Context({})) self.assertEqual(result, 'base')