def setUp(self): # Create a few Authors. self.au1 = Author(name='Author 1') self.au1.save() self.au2 = Author(name='Author 2') self.au2.save() # Create a couple of Books. self.b1 = Book(title='Book 1', pubdate=datetime(2005, 7, 26), author=self.au1) self.b1.save() self.b2 = Book(title='Book 2', pubdate=datetime(2005, 7, 27), author=self.au1) self.b2.save() self.b3 = Book(title='Book 3', pubdate=datetime(2005, 7, 27), author=self.au1) self.b3.save() self.b4 = Book(title='Book 4', pubdate=datetime(2005, 7, 28), author=self.au1) self.b4.save() self.b5 = Book(title='Book 5', pubdate=datetime(2005, 8, 1, 9, 0), author=self.au2) self.b5.save() self.b6 = Book(title='Book 6', pubdate=datetime(2005, 8, 1, 8, 0), author=self.au2) self.b6.save() self.b7 = Book(title='Book 7', pubdate=datetime(2005, 7, 27), author=self.au2) self.b7.save() # Create a few Tags. self.t1 = Tag(name='Tag 1') self.t1.save() self.t1.articles.add(self.b1, self.b2, self.b3) self.t2 = Tag(name='Tag 2') self.t2.save() self.t2.articles.add(self.b3, self.b4, self.b5) self.t3 = Tag(name='Tag 3') self.t3.save() self.t3.articles.add(self.b5, self.b6, self.b7)
def test_m2m_signals(self): """ Assigning and removing to/from m2m shouldn't generate an m2m signal """ b1 = Book(title='Snow Crash', pubdate='2012-02-02 12:00') self.get_signal_output(b1.save) a1 = Author(name='Neal Stephenson') self.get_signal_output(a1.save) self.assertEqual(self.get_signal_output(setattr, b1, 'authors', [a1]), []) self.assertEqual(self.get_signal_output(setattr, b1, 'authors', []), [])
def test_model_signals(self): """ Model saves should throw some signals. """ a1 = Author(name='Neal Stephenson') self.assertEqual(self.get_signal_output(a1.save), [ "pre_save signal, Neal Stephenson", "post_save signal, Neal Stephenson", "Is created" ]) b1 = Book(title='Snow Crash', pubdate='2012-02-02 12:00') self.assertEqual(self.get_signal_output(b1.save), [ "pre_save signal, Snow Crash", "post_save signal, Snow Crash", "Is created" ])