Tested for Django 1.6-2.2
[django-sponsors.git] / example_project / tests.py
diff --git a/example_project/tests.py b/example_project/tests.py
new file mode 100644 (file)
index 0000000..ac7ed47
--- /dev/null
@@ -0,0 +1,35 @@
+from django.core.files.base import ContentFile
+from django.test import TestCase
+from sponsors.models import Sponsor, SponsorPage
+from PIL import Image
+
+try:
+    from io import BytesIO
+except ImportError:
+    # Python 2
+    from StringIO import StringIO as BytesIO
+
+
+class SponsorsTest(TestCase):
+    def test_empty_page(self):
+        page = SponsorPage(name='test')
+        page.save()
+
+    def test_simple_sponsor(self):
+        s = Sponsor(name='Test Sponsor')
+        im = Image.new('1', (1,1))
+        b = BytesIO()
+        im.save(b, 'PNG')
+        s.logo.save('test.png', ContentFile(b.getvalue()), save=True)
+
+        page = SponsorPage(
+            name='Sponsor',
+            sponsors=[
+                {"name": "empty-column", "sponsors": []},
+                {"name": "test-column", "sponsors": [s.id]},
+            ])
+        page.save()
+        self.assertNotIn('empty-column', page._html)
+        self.assertIn('test-column', page._html)
+        self.assertIn('Test Sponsor', page._html)
+