示例#1
0
 def test_save(self):
     self.assertEqual(Competition.objects.count(), 0)
     
     cat1 = mixer.blend('notorhot.CandidateCategory')
     cat2 = mixer.blend('notorhot.CandidateCategory')
     cands = mixer.cycle(3).blend('notorhot.Candidate', category=cat1, 
         is_enabled=True, challenges=0)
             
     comp = Competition(**{
         'left': cands[0],
         'right': cands[1],
     })
     
     comp.save()
     
     self.assertEqual(Competition.objects.count(), 1)
     self.assertEqual(cands[0].challenges, 1)
     self.assertEqual(cands[1].challenges, 1)
     self.assertEqual(comp.category, cat1)
     self.assertIsNone(comp.winner)
     self.assertIsNone(comp.winning_side)
     self.assertIsNone(comp.date_voted)
     self.assertIsNotNone(comp.date_presented)    
     
     # make sure saving again doesn't set any new values
     comp.save()
     
     self.assertEqual(Competition.objects.count(), 1)
     self.assertEqual(cands[0].challenges, 1)
     self.assertEqual(cands[1].challenges, 1)
     self.assertEqual(comp.category, cat1)
     self.assertIsNone(comp.winner)
     self.assertIsNone(comp.winning_side)
     self.assertIsNone(comp.date_voted)
     self.assertIsNotNone(comp.date_presented)