def test_obj_arg_is_not_a_django_model(self): from wiki.templatetags import wiki_tags with self.assertRaises(TypeError): article_for_object({}, '') with self.assertRaises(TypeError): article_for_object({'request': 100500}, {}) with self.assertRaises(TypeError): self.render({'obj': 'tiger!'}) self.assertEqual(len(wiki_tags._cache), 0)
def test_obj_is_not_in__cache_and_articleforobject_is_not_exist(self): from wiki.templatetags.wiki_tags import _cache as cache obj = Article.objects.create() article_for_object({}, obj) self.assertIn(obj, cache) self.assertEqual(cache[obj], None) self.assertEqual(len(cache), 1) self.render({'obj': obj}) self.assertIn(obj, cache) self.assertEqual(cache[obj], None) self.assertEqual(len(cache), 1)
def test_obj_in__cache_and_articleforobjec_is_exist(self): article = Article.objects.create() content_type = ContentType.objects.get_for_model(article) ArticleForObject.objects.create(article=article, content_type=content_type, object_id=1) from wiki.templatetags import wiki_tags wiki_tags._cache = {article: 'spam'} output = article_for_object({}, article) self.assertEqual(output, article) self.assertIn(article, wiki_tags._cache) self.assertEqual(wiki_tags._cache[article], article) output = self.render({'obj': article}) self.assertIn(article, wiki_tags._cache) self.assertEqual(wiki_tags._cache[article], article) expected = 'Article without content (1)' self.assertIn(expected, output)
def test_obj_in__cache_and_articleforobjec_is_exist(self): article = Article.objects.create() content_type = ContentType.objects.get_for_model(article) ArticleForObject.objects.create( article=article, content_type=content_type, object_id=1 ) from wiki.templatetags import wiki_tags wiki_tags._cache = {article: 'spam'} output = article_for_object({}, article) self.assertEqual(output, article) self.assertIn(article, wiki_tags._cache) self.assertEqual(wiki_tags._cache[article], article) output = self.render({'obj': article}) self.assertIn(article, wiki_tags._cache) self.assertEqual(wiki_tags._cache[article], article) expected = 'Article without content (1)' self.assertIn(expected, output)
def test_obj_in__cache_and_articleforobject_is_not_exist(self): model = Article.objects.create() from wiki.templatetags import wiki_tags wiki_tags._cache = {model: 'spam'} article_for_object({}, model) self.assertIn(model, wiki_tags._cache) self.assertEqual(wiki_tags._cache[model], None) self.assertEqual(len(wiki_tags._cache), 1) self.render({'obj': model}) self.assertIn(model, wiki_tags._cache) self.assertEqual(wiki_tags._cache[model], None) self.assertEqual(len(wiki_tags._cache), 1) self.assertNotIn('spam', wiki_tags._cache.values())
def test_obj_is_not_in__cache_and_articleforobjec_is_exist(self): from wiki.templatetags.wiki_tags import _cache as cache a = Article.objects.create() content_type = ContentType.objects.get_for_model(a) ArticleForObject.objects.create(article=a, content_type=content_type, object_id=1) output = article_for_object({}, a) self.assertEqual(output, a) self.assertIn(a, cache) self.assertEqual(cache[a], a) self.assertEqual(len(cache), 1) self.render({'obj': a}) self.assertIn(a, cache) self.assertEqual(cache[a], a) self.assertEqual(len(cache), 1)
def test_obj_is_not_in__cache_and_articleforobjec_is_exist(self): from wiki.templatetags.wiki_tags import _cache as cache a = Article.objects.create() content_type = ContentType.objects.get_for_model(a) ArticleForObject.objects.create( article=a, content_type=content_type, object_id=1 ) output = article_for_object({}, a) self.assertEqual(output, a) self.assertIn(a, cache) self.assertEqual(cache[a], a) self.assertEqual(len(cache), 1) self.render({'obj': a}) self.assertIn(a, cache) self.assertEqual(cache[a], a) self.assertEqual(len(cache), 1)