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))
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)
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))
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')
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)
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))
def create(self, fields): number = fields.get('number') context = fields.get('context') if number or context: return self.service.create(Voicemail(**fields))
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)
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)
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)