コード例 #1
0
    def test_positive_max_team_size(self):
        """Team max sizes must be greater than 0"""
        c = CompetitionFactory.build(max_num_team_members=-1)

        with self.assertRaises(ValidationError) as cm:
            c.full_clean()

        self.assertEqual(2, len(cm.exception.message_dict))
        self.assertIn("max_num_team_members", cm.exception.message_dict)
コード例 #2
0
    def test_positive_cost(self):
        """Cost must be greater than 0"""
        c = CompetitionFactory.build(cost=-20.3)

        with self.assertRaises(ValidationError) as cm:
            c.full_clean()

        self.assertEqual(1, len(cm.exception.message_dict))
        self.assertIn("cost", cm.exception.message_dict)
コード例 #3
0
    def test_name_validation(self):
        """Competition names must pass the name validator"""
        c = CompetitionFactory.build(name="{no way}")

        with self.assertRaises(ValidationError) as cm:
            c.full_clean()

        self.assertEqual(1, len(cm.exception.message_dict))
        self.assertIn("name", cm.exception.message_dict)
コード例 #4
0
    def test_valid_team_sizes(self):
        """Max team size must be greater than min team size"""
        c = CompetitionFactory.build(min_num_team_members=2,
                                     max_num_team_members=1)

        with self.assertRaises(ValidationError) as cm:
            c.full_clean()

        self.assertEqual(1, len(cm.exception.message_dict))
        self.assertIn("__all__", cm.exception.message_dict)
コード例 #5
0
    def test_valid_start_end_times(self):
        """Start time must be before end time"""
        twelve_hours_ago = datetime.now() - TWELVE_HOURS
        c = CompetitionFactory.build(end_time=twelve_hours_ago)

        with self.assertRaises(ValidationError) as cm:
            c.full_clean()

        self.assertEqual(1, len(cm.exception.message_dict))
        self.assertIn("__all__", cm.exception.message_dict)
コード例 #6
0
    def test_name_is_sluggable(self):
        """Competition names must be sluggable"""
        now = datetime.now()
        c = CompetitionFactory.build(name="..")

        with self.assertRaises(ValidationError) as cm:
            c.full_clean()

        self.assertEqual(1, len(cm.exception.message_dict))
        self.assertIn("name", cm.exception.message_dict)
コード例 #7
0
 def test_slug_set(self):
     """Competition slug should be set when it's saved"""
     c = CompetitionFactory.build()
     self.assertEqual('', c.slug)
     c.save()
     self.assertEqual(slugify(c.name), c.slug)
コード例 #8
0
 def test_reasonable_name(self):
     """Valid competition names should pass"""
     c = CompetitionFactory.build(name="MegaMinerAI 10: -B.O.N.K-")
     c.full_clean()