def test_set_nonacd_call_status(self):
        self.innerdata.xod_status = {'agents': {str(AGENT_ID): {}}}
        call_status = AgentCallStatus(direction=CallDirection.incoming,
                                      is_internal=False)

        self.agent_dao.set_nonacd_call_status(AGENT_ID, call_status)

        result = self.innerdata.xod_status['agents'][str(
            AGENT_ID)]['nonacd_call_status']

        self.assertEquals(call_status, result)
    def test_on_call_nonacd(self):
        self.innerdata.xod_status = {'agents': {str(AGENT_ID): {}}}
        call_status = AgentCallStatus(direction=CallDirection.incoming,
                                      is_internal=False)

        self.agent_dao.set_nonacd_call_status(AGENT_ID, call_status)
        result = self.agent_dao.on_call_nonacd(AGENT_ID)
        self.assertEquals(result, True)

        self.agent_dao.set_nonacd_call_status(AGENT_ID, None)
        result = self.agent_dao.on_call_nonacd(AGENT_ID)
        self.assertEquals(result, False)
Exemple #3
0
    def test_device_in_use_outgoing_internal(self):
        given_direction = CallDirection.outgoing
        given_is_internal = True
        expected_call_status = AgentCallStatus(direction=given_direction,
                                               is_internal=given_is_internal)

        self.agent_status_manager.device_in_use(AGENT_ID, given_direction,
                                                given_is_internal)

        dao.agent.set_nonacd_call_status.assert_called_once_with(
            AGENT_ID, expected_call_status)
        self.agent_availability_computer.compute.assert_called_once_with(
            AGENT_ID)
    def test_nonacd_call_status(self):
        call_status = AgentCallStatus(direction=CallDirection.incoming,
                                      is_internal=False)
        expected_result = call_status
        self.innerdata.xod_status = {
            'agents': {
                str(AGENT_ID): {
                    'nonacd_call_status': call_status,
                }
            }
        }

        result = self.agent_dao.nonacd_call_status(AGENT_ID)

        self.assertEquals(expected_result, result)
 def device_in_use(self, agent_id, direction, is_internal):
     call_status = AgentCallStatus(direction=direction,
                                   is_internal=is_internal)
     dao.agent.set_nonacd_call_status(agent_id, call_status)
     self._agent_availability_computer.compute(agent_id)