def test_sessions_must_not_have_gaps(self):
     data = {
         'session_1_time': '2015-01-01 15:00:00',
         'session_1_rounds': [self.rnd.pk],
         'session_3_time': '2015-01-01 12:00:00',
         'session_3_rounds': [self.rnd.pk],
     }
     form = CompetitionForm(data=data)
     self.assertFalse(form.is_valid())
     self.assertTrue(form.has_error('session_1_time', code='session_order'))
 def test_session_cross_field_validation(self):
     data = {
         'session_1_time': '2015-01-01 09:00:00',
         'session_1_rounds': [self.rnd.pk],
         'session_2_time': '2015-01-01 12:00:00',
         'session_2_rounds': [],
         'session_3_time': None,
         'session_3_rounds': [self.rnd.pk],
     }
     form = CompetitionForm(data=data)
     self.assertFalse(form.is_valid())
     self.assertTrue(form.has_error('session_2_time', code='session_match'))
     self.assertTrue(form.has_error('session_3_time', code='session_match'))