Author: Alex
Date: 2010-10-11 12:41:44 -0500 (Mon, 11 Oct 2010)
New Revision: 14145

Added:
   django/trunk/tests/modeltests/save_delete_hooks/tests.py
Modified:
   django/trunk/tests/modeltests/save_delete_hooks/models.py
Log:
Converted save_delete_hooks tests from doctests to unittests.  We have always 
been at war with doctests.

Modified: django/trunk/tests/modeltests/save_delete_hooks/models.py
===================================================================
--- django/trunk/tests/modeltests/save_delete_hooks/models.py   2010-10-11 
15:18:34 UTC (rev 14144)
+++ django/trunk/tests/modeltests/save_delete_hooks/models.py   2010-10-11 
17:41:44 UTC (rev 14145)
@@ -7,37 +7,26 @@
 
 from django.db import models
 
+
 class Person(models.Model):
     first_name = models.CharField(max_length=20)
     last_name = models.CharField(max_length=20)
 
+    def __init__(self, *args, **kwargs):
+        super(Person, self).__init__(*args, **kwargs)
+        self.data = []
+
     def __unicode__(self):
         return u"%s %s" % (self.first_name, self.last_name)
 
-    def save(self, force_insert=False, force_update=False):
-        print "Before save"
+    def save(self, *args, **kwargs):
+        self.data.append("Before save")
          # Call the "real" save() method
-        super(Person, self).save(force_insert, force_update)
-        print "After save"
+        super(Person, self).save(*args, **kwargs)
+        self.data.append("After save")
 
     def delete(self):
-        print "Before deletion"
-        super(Person, self).delete() # Call the "real" delete() method
-        print "After deletion"
-
-__test__ = {'API_TESTS':"""
->>> p1 = Person(first_name='John', last_name='Smith')
->>> p1.save()
-Before save
-After save
-
->>> Person.objects.all()
-[<Person: John Smith>]
-
->>> p1.delete()
-Before deletion
-After deletion
-
->>> Person.objects.all()
-[]
-"""}
+        self.data.append("Before deletion")
+        # Call the "real" delete() method
+        super(Person, self).delete()
+        self.data.append("After deletion")

Added: django/trunk/tests/modeltests/save_delete_hooks/tests.py
===================================================================
--- django/trunk/tests/modeltests/save_delete_hooks/tests.py                    
        (rev 0)
+++ django/trunk/tests/modeltests/save_delete_hooks/tests.py    2010-10-11 
17:41:44 UTC (rev 14145)
@@ -0,0 +1,30 @@
+from django.test import TestCase
+
+from models import Person
+
+
+class SaveDeleteHookTests(TestCase):
+    def test_basic(self):
+        p = Person(first_name="John", last_name="Smith")
+        self.assertEqual(p.data, [])
+        p.save()
+        self.assertEqual(p.data, [
+            "Before save",
+            "After save",
+        ])
+
+        self.assertQuerysetEqual(
+            Person.objects.all(), [
+                "John Smith",
+            ],
+            unicode
+        )
+
+        p.delete()
+        self.assertEqual(p.data, [
+            "Before save",
+            "After save",
+            "Before deletion",
+            "After deletion",
+        ])
+        self.assertQuerysetEqual(Person.objects.all(), [])

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to