def test_check_ce_has_ended(self):
        # Given a valid date
        datetime_obj = parse_date('2007-01-25T12:00:00Z')

        # When check_ce_has_ended is called
        with self.assertRaises(ExerciseClosedError):
            EqPayloadConstructor._check_ce_has_ended(self.dummy_eq,
                                                     datetime_obj)
    def test_check_ce_has_ended_error(self):
        # Given an invalid date
        datetime_obj = 'invalid_date'

        # When check_ce_has_ended is called
        with self.assertRaises(InvalidEqPayLoad) as e:
            EqPayloadConstructor._check_ce_has_ended(self.dummy_eq,
                                                     datetime_obj)

        # Then an InvalidEqPayload is raised
        self.assertEqual(e.exception.message, 'Unable to compare date objects')
    def test_check_ce_has_not_ended(self):
        # Given a valid date
        datetime_obj = parse_date('2027-01-25T12:00:00Z')

        # When check_ce_has_ended is called
        self.assertIsNone(
            EqPayloadConstructor._check_ce_has_ended(self.dummy_eq,
                                                     datetime_obj))