示例#1
0
    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)
示例#2
0
 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)
示例#3
0
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)