mirror of
				https://github.com/django/django.git
				synced 2025-11-03 21:25:09 +00:00 
			
		
		
		
	Converted save_delete_hooks tests from doctests to unittests. We have always been at war with doctests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14145 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		
							parent
							
								
									e01bce1bfb
								
							
						
					
					
						commit
						3879c59074
					
				
					 2 changed files with 43 additions and 24 deletions
				
			
		| 
						 | 
				
			
			@ -7,37 +7,26 @@ the methods.
 | 
			
		|||
 | 
			
		||||
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")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										30
									
								
								tests/modeltests/save_delete_hooks/tests.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								tests/modeltests/save_delete_hooks/tests.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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(), [])
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue