def test_title_defect(self): """ Test defect code is run """ self.t.on_defect = """ folk.loyalty = 50 folk.save() """ self.t.save() at = AvailableTitle( title=self.t, kingdom=self.k, folk=self.f ) at.save() # Sanity check self.assertNotEquals(self.f.loyalty, 50) at = AvailableTitle.objects.get(pk=at.pk) at.folk = None at.save() self.assertEqual(Folk.objects.get(pk=self.f.pk).loyalty, 50)
def test_title_affect(self): """ Test affect code is run """ self.t.on_affect = """ folk.loyalty = 50 folk.save() """ self.t.save() # Sanity check self.assertNotEquals(self.f.loyalty, 50) at = AvailableTitle( title=self.t, kingdom=self.k, ) at.save() # Sanity check self.assertNotEquals(self.f.loyalty, 50) at.folk = self.f at.save() self.assertEqual(self.f.loyalty, 50)
def test_title_affect_defect(self): """ Test affect AND defect code are run """ self.t.on_affect = """ folk.loyalty = 80 folk.save() """ self.t.on_defect = """ folk.loyalty = 20 folk.save() """ self.t.save() f2 = Folk( first_name="Robb", last_name="Stark", kingdom=self.k ) f2.save() # Sanity check self.assertEqual(self.f.loyalty, 0) self.assertEqual(f2.loyalty, 0) at = AvailableTitle( title=self.t, kingdom=self.k, folk=self.f ) at.save() self.assertEqual(self.f.loyalty, 80) at.folk = f2 at.save() self.assertEqual(self.f.loyalty, 20) self.assertEqual(f2.loyalty, 80)