1. from django.test import TestCase
    
  2. 
    
  3. from .models import Person
    
  4. 
    
  5. 
    
  6. class SaveDeleteHookTests(TestCase):
    
  7.     def test_basic(self):
    
  8.         p = Person(first_name="John", last_name="Smith")
    
  9.         self.assertEqual(p.data, [])
    
  10.         p.save()
    
  11.         self.assertEqual(
    
  12.             p.data,
    
  13.             [
    
  14.                 "Before save",
    
  15.                 "After save",
    
  16.             ],
    
  17.         )
    
  18. 
    
  19.         self.assertQuerysetEqual(
    
  20.             Person.objects.all(),
    
  21.             [
    
  22.                 "John Smith",
    
  23.             ],
    
  24.             str,
    
  25.         )
    
  26. 
    
  27.         p.delete()
    
  28.         self.assertEqual(
    
  29.             p.data,
    
  30.             [
    
  31.                 "Before save",
    
  32.                 "After save",
    
  33.                 "Before deletion",
    
  34.                 "After deletion",
    
  35.             ],
    
  36.         )
    
  37.         self.assertQuerysetEqual(Person.objects.all(), [])