def test_10_discount_validation(self): """Test discount validity periods""" order = self.create_order() d = Discount( is_active=False, valid_from=date(2100, 1, 1), # far future date valid_until=None, ) try: d.validate(order) except ValidationError as e: self.assertEqual(len(e.messages), 2) d.is_active = True d.valid_until = date(2000, 1, 1) try: d.validate(order) except ValidationError as e: self.assertEqual(len(e.messages), 2)