def test_build_manager(self, AssociationManager, InternalAssociator, IncallAssociator, line_extension_validator, context_dao, ule_services, user_line_dao, incall_dao, extension_dao, extension_validator, line_device_validator): association_manager = AssociationManager.return_value = Mock(AssociationManager) internal_association = InternalAssociator.return_value = Mock(InternalAssociator) incall_association = IncallAssociator.return_value = Mock(IncallAssociator) result = build_manager() assert_that(result, equal_to(association_manager)) AssociationManager.assert_called_once_with(context_dao, line_extension_validator, { 'internal': internal_association, 'incall': incall_association}) InternalAssociator.assert_called_once_with(ule_services, extension_validator, line_extension_validator, line_device_validator) IncallAssociator.assert_called_once_with(line_extension_validator, user_line_dao, incall_dao, extension_dao)
def setUp(self): self.validator = Mock() self.user_line_dao = Mock() self.incall_dao = Mock() self.extension_dao = Mock() self.line_extension = Mock(LineExtension, line_id=1, extension_id=2) self.associator = IncallAssociator(self.validator, self.user_line_dao, self.incall_dao, self.extension_dao)
class TestIncallAssociator(unittest.TestCase): def setUp(self): self.validator = Mock() self.user_line_dao = Mock() self.incall_dao = Mock() self.extension_dao = Mock() self.line_extension = Mock(LineExtension, line_id=1, extension_id=2) self.associator = IncallAssociator(self.validator, self.user_line_dao, self.incall_dao, self.extension_dao) def test_when_associating_then_validates_association_to_user(self): self.associator.associate(self.line_extension) self.validator.validate_associated_to_user.assert_called_once_with(self.line_extension) def test_when_associating_then_creates_incall_with_main_user(self): main_user_line = self.user_line_dao.find_main_user_line.return_value = Mock(UserLine, user_id=3) expected_incall = Incall(destination='user', destination_id=main_user_line.user_id, extension_id=self.line_extension.extension_id) new_incall = self.incall_dao.create.return_value self.associator.associate(self.line_extension) self.user_line_dao.find_main_user_line.assert_called_once_with(self.line_extension.line_id) self.incall_dao.create.assert_called_once_with(expected_incall) self.extension_dao.associate_destination.assert_called_once_with(self.line_extension.extension_id, 'incall', new_incall.id) def test_when_dissociating_then_deletes_incall(self): incall = self.incall_dao.find_by_extension_id.return_value = Mock(Incall) self.associator.dissociate(self.line_extension) self.incall_dao.find_by_extension_id.assert_called_once_with(self.line_extension.extension_id) self.incall_dao.delete.assert_called_once_with(incall) def test_when_dissociating_then_dissociates_extension(self): self.associator.dissociate(self.line_extension) self.extension_dao.dissociate_extension.assert_called_once_with(self.line_extension.extension_id)