Exemple #1
0
    def test_when_number_and_context_have_changed_and_new_number_context_exist_then_validation_fails(
            self):
        old_model = Voicemail(number='1000', context='context')
        new_model = Voicemail(number='1001', context='context')
        self.dao.get.return_value = old_model
        self.dao.get_by_number_context.return_value = new_model

        assert_that(
            calling(self.validator.validate).with_args(new_model),
            raises(ResourceError))
Exemple #2
0
    def test_when_number_and_context_have_changed_and_new_number_context_do_not_exist_then_validation_passes(
            self):
        model = Voicemail(number='1000', context='context')
        self.dao.get.return_value = model
        self.dao.get_by_number_context.side_effect = NotFoundError

        self.validator.validate(model)
Exemple #3
0
    def test_when_number_and_context_exist_then_validation_fails(self):
        model = Voicemail(number='1000', context='context')
        self.dao.get_by_number_context.return_value = model

        assert_that(
            calling(self.validator.validate).with_args(model),
            raises(ResourceError))
Exemple #4
0
 def setUp(self):
     self.sysconf = Mock()
     self.dao = Mock()
     self.validator = Mock()
     self.notifier = Mock()
     self.service = VoicemailService(self.dao, self.validator,
                                     self.notifier, self.sysconf)
     self.voicemail = Voicemail(number='1000', context='default')
Exemple #5
0
    def test_given_number_and_context_have_changed_when_editing_then_sysconfd_called(
            self):
        old_voicemail = self.dao.get.return_value = Voicemail(number='100',
                                                              context='ctx')

        self.service.edit(self.voicemail)

        self.sysconf.move_voicemail.assert_called_once_with(
            old_voicemail.number, old_voicemail.context, self.voicemail.number,
            self.voicemail.context)
Exemple #6
0
    def test_when_associations_found_then_validation_fails(self):
        model = Voicemail(id=sentinel.id)
        self.dao.find_all_by_voicemail_id.return_value = [
            Mock(UserVoicemail,
                 user_id=sentinel.user_id,
                 voicemail_id=sentinel.id)
        ]

        assert_that(
            calling(self.validator.validate).with_args(model),
            raises(ResourceError))
Exemple #7
0
 def create(self, fields):
     number = fields.get('number')
     context = fields.get('context')
     if number or context:
         return self.service.create(Voicemail(**fields))
Exemple #8
0
    def test_when_no_associations_found_then_validation_passes(self):
        model = Voicemail(id=sentinel.id)
        self.dao.find_all_by_voicemail_id.return_value = []

        self.validator.validate(model)
Exemple #9
0
    def test_when_number_and_context_have_not_changed_then_validation_passes(
            self):
        model = Voicemail(number='1000', context='context')
        self.dao.get.return_value = model

        self.validator.validate(model)
Exemple #10
0
    def test_when_number_and_context_do_not_exist_then_validation_passes(self):
        self.dao.get_by_number_context.side_effect = NotFoundError
        model = Voicemail(number='1000', context='context')

        self.validator.validate(model)