@webex/contact-center 3.9.0-multi-llms.4 → 3.9.0-multi-llms.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/metrics/behavioral-events.js +13 -0
- package/dist/metrics/behavioral-events.js.map +1 -1
- package/dist/webex.js +1 -1
- package/package.json +8 -8
- package/src/metrics/behavioral-events.ts +14 -0
- package/test/unit/spec/cc.ts +205 -1
- package/umd/contact-center.min.js +2 -2
- package/umd/contact-center.min.js.map +1 -1
|
@@ -393,6 +393,19 @@ const eventTaxonomyMap = {
|
|
|
393
393
|
agent: 'user',
|
|
394
394
|
target: 'queue_fetch',
|
|
395
395
|
verb: 'fail'
|
|
396
|
+
},
|
|
397
|
+
// Outdial ANI API Events
|
|
398
|
+
[_constants.METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS]: {
|
|
399
|
+
product,
|
|
400
|
+
agent: 'user',
|
|
401
|
+
target: 'outdial_ani_ep_fetch',
|
|
402
|
+
verb: 'complete'
|
|
403
|
+
},
|
|
404
|
+
[_constants.METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_FAILED]: {
|
|
405
|
+
product,
|
|
406
|
+
agent: 'user',
|
|
407
|
+
target: 'outdial_ani_ep_fetch',
|
|
408
|
+
verb: 'fail'
|
|
396
409
|
}
|
|
397
410
|
};
|
|
398
411
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_constants2","product","PRODUCT_NAME","eventTaxonomyMap","METRIC_EVENT_NAMES","STATION_LOGIN_SUCCESS","agent","target","verb","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","getEventTaxonomy","name"],"sources":["behavioral-events.ts"],"sourcesContent":["import {\n MetricEventAgent,\n MetricEventProduct,\n MetricEventVerb,\n} from '@webex/internal-plugin-metrics/src/metrics.types';\n\nimport {METRIC_EVENT_NAMES} from './constants';\nimport {PRODUCT_NAME} from '../constants';\n\n/**\n * Represents the taxonomy for a behavioral event in the metrics system.\n * @ignore\n * @typedef BehavioralEventTaxonomy\n * @property {MetricEventProduct} product - The product associated with the behavioral event.\n * @property {MetricEventAgent} agent - The agent responsible for the behavioral event.\n * @property {string} target - The target entity of the behavioral event.\n * @property {MetricEventVerb} verb - The action or verb describing the behavioral event.\n *\n * @category Metrics\n * @type BehavioralEvents\n */\nexport type BehavioralEventTaxonomy = {\n product: MetricEventProduct;\n agent: MetricEventAgent;\n target: string;\n verb: MetricEventVerb;\n};\n\nconst product: MetricEventProduct = PRODUCT_NAME;\n\n// Adding new metrics? Please add them to the Cypher CC metrics wiki\n/**\n * @ignore\n * @typedoc\n * A mapping between metric event names and their corresponding behavioral event taxonomy definitions.\n *\n * This map is used to associate each event (such as login, logout, task actions, etc.)\n * with a structured taxonomy object that describes the product, agent, target, and verb\n * for behavioral analytics and metrics reporting.\n *\n * The keys are string constants from `METRIC_EVENT_NAMES`, and the values are\n * `BehavioralEventTaxonomy` objects that define the event's context.\n *\n * @example\n * ```typescript\n * const taxonomy = eventTaxonomyMap[METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS];\n * // taxonomy = { product, agent: 'user', target: 'station_login', verb: 'complete' }\n * ```\n *\n * @see BehavioralEventTaxonomy\n * @see METRIC_EVENT_NAMES\n */\nconst eventTaxonomyMap: Record<string, BehavioralEventTaxonomy> = {\n [METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_FAILED]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_FAILED]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_FAILED]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_FAILED]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_RONA]: {\n product,\n agent: 'service',\n target: 'agent_rona',\n verb: 'set',\n },\n [METRIC_EVENT_NAMES.AGENT_CONTACT_ASSIGN_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_contact_assign',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_INVITE_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_invite',\n verb: 'fail',\n },\n\n // Added Task events\n [METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_FAILED]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'fail',\n },\n\n // Advanced Tasks handling\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'fail',\n },\n\n // Conference Tasks\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'fail',\n },\n\n // upload logs\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_FAILED]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'fail',\n },\n\n // update profile\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'fail',\n },\n\n // EntryPoint API Events\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'fail',\n },\n\n // AddressBook API Events\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'fail',\n },\n\n // Queue API Events\n [METRIC_EVENT_NAMES.QUEUE_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.QUEUE_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'fail',\n },\n};\n\n/**\n * Get the taxonomy information for a given behavioral event name.\n * @ignore\n * @param name - The name of the metric event to look up.\n * @returns The corresponding {@link BehavioralEventTaxonomy} if found, otherwise `undefined`.\n *\n * @typedoc\n */\nexport function getEventTaxonomy(name: METRIC_EVENT_NAMES): BehavioralEventTaxonomy | undefined {\n return eventTaxonomyMap[name];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_constants","require","_constants2","product","PRODUCT_NAME","eventTaxonomyMap","METRIC_EVENT_NAMES","STATION_LOGIN_SUCCESS","agent","target","verb","STATION_LOGIN_FAILED","STATION_LOGOUT_SUCCESS","STATION_LOGOUT_FAILED","STATION_RELOGIN_SUCCESS","STATION_RELOGIN_FAILED","AGENT_STATE_CHANGE_SUCCESS","AGENT_STATE_CHANGE_FAILED","FETCH_BUDDY_AGENTS_SUCCESS","FETCH_BUDDY_AGENTS_FAILED","WEBSOCKET_REGISTER_SUCCESS","WEBSOCKET_REGISTER_FAILED","AGENT_RONA","AGENT_CONTACT_ASSIGN_FAILED","AGENT_INVITE_FAILED","TASK_ACCEPT_SUCCESS","TASK_ACCEPT_FAILED","TASK_DECLINE_SUCCESS","TASK_DECLINE_FAILED","TASK_END_SUCCESS","TASK_END_FAILED","TASK_WRAPUP_SUCCESS","TASK_WRAPUP_FAILED","TASK_HOLD_SUCCESS","TASK_HOLD_FAILED","TASK_RESUME_SUCCESS","TASK_RESUME_FAILED","TASK_CONSULT_START_SUCCESS","TASK_CONSULT_START_FAILED","TASK_CONSULT_END_SUCCESS","TASK_CONSULT_END_FAILED","TASK_TRANSFER_SUCCESS","TASK_TRANSFER_FAILED","TASK_RESUME_RECORDING_SUCCESS","TASK_RESUME_RECORDING_FAILED","TASK_PAUSE_RECORDING_SUCCESS","TASK_PAUSE_RECORDING_FAILED","TASK_ACCEPT_CONSULT_SUCCESS","TASK_ACCEPT_CONSULT_FAILED","TASK_OUTDIAL_SUCCESS","TASK_OUTDIAL_FAILED","TASK_CONFERENCE_START_SUCCESS","TASK_CONFERENCE_START_FAILED","TASK_CONFERENCE_END_SUCCESS","TASK_CONFERENCE_END_FAILED","TASK_CONFERENCE_TRANSFER_SUCCESS","TASK_CONFERENCE_TRANSFER_FAILED","UPLOAD_LOGS_SUCCESS","UPLOAD_LOGS_FAILED","AGENT_DEVICE_TYPE_UPDATE_SUCCESS","AGENT_DEVICE_TYPE_UPDATE_FAILED","ENTRYPOINT_FETCH_SUCCESS","ENTRYPOINT_FETCH_FAILED","ADDRESSBOOK_FETCH_SUCCESS","ADDRESSBOOK_FETCH_FAILED","QUEUE_FETCH_SUCCESS","QUEUE_FETCH_FAILED","OUTDIAL_ANI_EP_FETCH_SUCCESS","OUTDIAL_ANI_EP_FETCH_FAILED","getEventTaxonomy","name"],"sources":["behavioral-events.ts"],"sourcesContent":["import {\n MetricEventAgent,\n MetricEventProduct,\n MetricEventVerb,\n} from '@webex/internal-plugin-metrics/src/metrics.types';\n\nimport {METRIC_EVENT_NAMES} from './constants';\nimport {PRODUCT_NAME} from '../constants';\n\n/**\n * Represents the taxonomy for a behavioral event in the metrics system.\n * @ignore\n * @typedef BehavioralEventTaxonomy\n * @property {MetricEventProduct} product - The product associated with the behavioral event.\n * @property {MetricEventAgent} agent - The agent responsible for the behavioral event.\n * @property {string} target - The target entity of the behavioral event.\n * @property {MetricEventVerb} verb - The action or verb describing the behavioral event.\n *\n * @category Metrics\n * @type BehavioralEvents\n */\nexport type BehavioralEventTaxonomy = {\n product: MetricEventProduct;\n agent: MetricEventAgent;\n target: string;\n verb: MetricEventVerb;\n};\n\nconst product: MetricEventProduct = PRODUCT_NAME;\n\n// Adding new metrics? Please add them to the Cypher CC metrics wiki\n/**\n * @ignore\n * @typedoc\n * A mapping between metric event names and their corresponding behavioral event taxonomy definitions.\n *\n * This map is used to associate each event (such as login, logout, task actions, etc.)\n * with a structured taxonomy object that describes the product, agent, target, and verb\n * for behavioral analytics and metrics reporting.\n *\n * The keys are string constants from `METRIC_EVENT_NAMES`, and the values are\n * `BehavioralEventTaxonomy` objects that define the event's context.\n *\n * @example\n * ```typescript\n * const taxonomy = eventTaxonomyMap[METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS];\n * // taxonomy = { product, agent: 'user', target: 'station_login', verb: 'complete' }\n * ```\n *\n * @see BehavioralEventTaxonomy\n * @see METRIC_EVENT_NAMES\n */\nconst eventTaxonomyMap: Record<string, BehavioralEventTaxonomy> = {\n [METRIC_EVENT_NAMES.STATION_LOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_login',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_LOGOUT_FAILED]: {\n product,\n agent: 'user',\n target: 'station_logout',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_SUCCESS]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.STATION_RELOGIN_FAILED]: {\n product,\n agent: 'user',\n target: 'station_relogin',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_STATE_CHANGE_FAILED]: {\n product,\n agent: 'user',\n target: 'state_change',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.FETCH_BUDDY_AGENTS_FAILED]: {\n product,\n agent: 'user',\n target: 'buddy_agents_fetch',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.WEBSOCKET_REGISTER_FAILED]: {\n product,\n agent: 'user',\n target: 'websocket_register',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_RONA]: {\n product,\n agent: 'service',\n target: 'agent_rona',\n verb: 'set',\n },\n [METRIC_EVENT_NAMES.AGENT_CONTACT_ASSIGN_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_contact_assign',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.AGENT_INVITE_FAILED]: {\n product,\n agent: 'service',\n target: 'agent_invite',\n verb: 'fail',\n },\n\n // Added Task events\n [METRIC_EVENT_NAMES.TASK_ACCEPT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_DECLINE_FAILED]: {\n product,\n agent: 'user',\n target: 'task_decline',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_WRAPUP_FAILED]: {\n product,\n agent: 'user',\n target: 'task_wrapup',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_HOLD_FAILED]: {\n product,\n agent: 'user',\n target: 'task_hold',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume',\n verb: 'fail',\n },\n\n // Advanced Tasks handling\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONSULT_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_consult_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_transfer',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_RESUME_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_resume_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_PAUSE_RECORDING_FAILED]: {\n product,\n agent: 'user',\n target: 'task_pause_recording',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_ACCEPT_CONSULT_FAILED]: {\n product,\n agent: 'user',\n target: 'task_accept_consult',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_OUTDIAL_FAILED]: {\n product,\n agent: 'user',\n target: 'task_outdial',\n verb: 'fail',\n },\n\n // Conference Tasks\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_START_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_start',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_END_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_end',\n verb: 'fail',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_SUCCESS]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.TASK_CONFERENCE_TRANSFER_FAILED]: {\n product,\n agent: 'user',\n target: 'task_conference_transfer',\n verb: 'fail',\n },\n\n // upload logs\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_SUCCESS]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.UPLOAD_LOGS_FAILED]: {\n product,\n agent: 'user',\n target: 'upload_logs',\n verb: 'fail',\n },\n\n // update profile\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_SUCCESS]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.AGENT_DEVICE_TYPE_UPDATE_FAILED]: {\n product,\n agent: 'user',\n target: 'agent_device_type_update',\n verb: 'fail',\n },\n\n // EntryPoint API Events\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ENTRYPOINT_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'entrypoint_fetch',\n verb: 'fail',\n },\n\n // AddressBook API Events\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.ADDRESSBOOK_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'addressbook_fetch',\n verb: 'fail',\n },\n\n // Queue API Events\n [METRIC_EVENT_NAMES.QUEUE_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.QUEUE_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'queue_fetch',\n verb: 'fail',\n },\n\n // Outdial ANI API Events\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'complete',\n },\n [METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_FAILED]: {\n product,\n agent: 'user',\n target: 'outdial_ani_ep_fetch',\n verb: 'fail',\n },\n};\n\n/**\n * Get the taxonomy information for a given behavioral event name.\n * @ignore\n * @param name - The name of the metric event to look up.\n * @returns The corresponding {@link BehavioralEventTaxonomy} if found, otherwise `undefined`.\n *\n * @typedoc\n */\nexport function getEventTaxonomy(name: METRIC_EVENT_NAMES): BehavioralEventTaxonomy | undefined {\n return eventTaxonomyMap[name];\n}\n"],"mappings":"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"}
|
package/dist/webex.js
CHANGED
package/package.json
CHANGED
|
@@ -45,13 +45,13 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@types/platform": "1.3.4",
|
|
48
|
-
"@webex/calling": "3.9.0-multi-llms.
|
|
49
|
-
"@webex/internal-plugin-mercury": "3.9.0-multi-llms.
|
|
50
|
-
"@webex/internal-plugin-metrics": "3.9.0-multi-llms.
|
|
51
|
-
"@webex/internal-plugin-support": "3.9.0-multi-llms.
|
|
52
|
-
"@webex/plugin-authorization": "3.9.0-multi-llms.
|
|
53
|
-
"@webex/plugin-logger": "3.9.0-multi-llms.
|
|
54
|
-
"@webex/webex-core": "3.9.0-multi-llms.
|
|
48
|
+
"@webex/calling": "3.9.0-multi-llms.5",
|
|
49
|
+
"@webex/internal-plugin-mercury": "3.9.0-multi-llms.5",
|
|
50
|
+
"@webex/internal-plugin-metrics": "3.9.0-multi-llms.5",
|
|
51
|
+
"@webex/internal-plugin-support": "3.9.0-multi-llms.5",
|
|
52
|
+
"@webex/plugin-authorization": "3.9.0-multi-llms.5",
|
|
53
|
+
"@webex/plugin-logger": "3.9.0-multi-llms.5",
|
|
54
|
+
"@webex/webex-core": "3.9.0-multi-llms.5",
|
|
55
55
|
"jest-html-reporters": "3.0.11",
|
|
56
56
|
"lodash": "^4.17.21"
|
|
57
57
|
},
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"typedoc": "^0.25.0",
|
|
81
81
|
"typescript": "4.9.5"
|
|
82
82
|
},
|
|
83
|
-
"version": "3.9.0-multi-llms.
|
|
83
|
+
"version": "3.9.0-multi-llms.5"
|
|
84
84
|
}
|
|
@@ -409,6 +409,20 @@ const eventTaxonomyMap: Record<string, BehavioralEventTaxonomy> = {
|
|
|
409
409
|
target: 'queue_fetch',
|
|
410
410
|
verb: 'fail',
|
|
411
411
|
},
|
|
412
|
+
|
|
413
|
+
// Outdial ANI API Events
|
|
414
|
+
[METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS]: {
|
|
415
|
+
product,
|
|
416
|
+
agent: 'user',
|
|
417
|
+
target: 'outdial_ani_ep_fetch',
|
|
418
|
+
verb: 'complete',
|
|
419
|
+
},
|
|
420
|
+
[METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_FAILED]: {
|
|
421
|
+
product,
|
|
422
|
+
agent: 'user',
|
|
423
|
+
target: 'outdial_ani_ep_fetch',
|
|
424
|
+
verb: 'fail',
|
|
425
|
+
},
|
|
412
426
|
};
|
|
413
427
|
|
|
414
428
|
/**
|
package/test/unit/spec/cc.ts
CHANGED
|
@@ -118,6 +118,7 @@ describe('webex.cc', () => {
|
|
|
118
118
|
},
|
|
119
119
|
config: {
|
|
120
120
|
getAgentConfig: jest.fn(),
|
|
121
|
+
getOutdialAniEntries: jest.fn(),
|
|
121
122
|
},
|
|
122
123
|
webSocketManager: mockWebSocketManager,
|
|
123
124
|
connectionService: {
|
|
@@ -161,7 +162,7 @@ describe('webex.cc', () => {
|
|
|
161
162
|
};
|
|
162
163
|
|
|
163
164
|
jest.spyOn(MetricsManager, 'getInstance').mockReturnValue(mockMetricsManager);
|
|
164
|
-
jest.spyOn(Services, 'getInstance').mockReturnValue(mockServicesInstance);
|
|
165
|
+
jest.spyOn(Services, 'getInstance').mockReturnValue(mockServicesInstance as any);
|
|
165
166
|
jest.spyOn(TaskManager, 'getTaskManager').mockReturnValue(mockTaskManager);
|
|
166
167
|
jest.spyOn(WebexRequest, 'getInstance').mockReturnValue(mockWebexRequest);
|
|
167
168
|
// Instantiate ContactCenter to ensure it's fully initialized
|
|
@@ -1975,4 +1976,207 @@ describe('webex.cc', () => {
|
|
|
1975
1976
|
});
|
|
1976
1977
|
});
|
|
1977
1978
|
});
|
|
1979
|
+
|
|
1980
|
+
describe('getOutdialAniEntries', () => {
|
|
1981
|
+
const mockOutdialANI = 'ani-123-456';
|
|
1982
|
+
const mockParams = {
|
|
1983
|
+
outdialANI: mockOutdialANI,
|
|
1984
|
+
page: 0,
|
|
1985
|
+
pageSize: 10,
|
|
1986
|
+
search: 'test',
|
|
1987
|
+
filter: 'active=true',
|
|
1988
|
+
attributes: 'id,name,number',
|
|
1989
|
+
};
|
|
1990
|
+
|
|
1991
|
+
beforeEach(() => {
|
|
1992
|
+
jest.clearAllMocks();
|
|
1993
|
+
// Reset orgId mock to return valid value
|
|
1994
|
+
webex.credentials.getOrgId.mockReturnValue('mockOrgId');
|
|
1995
|
+
});
|
|
1996
|
+
|
|
1997
|
+
it('should successfully fetch outdial ANI entries and track success metrics', async () => {
|
|
1998
|
+
const mockResult = [
|
|
1999
|
+
{
|
|
2000
|
+
id: '142fba3c-8502-4446-bf6e-584fd657553a',
|
|
2001
|
+
name: 'Test Entry',
|
|
2002
|
+
number: '+19403016307',
|
|
2003
|
+
},
|
|
2004
|
+
{
|
|
2005
|
+
id: '6f53000b-e04a-4418-9de9-ba511d2367cb',
|
|
2006
|
+
name: 'Another Entry',
|
|
2007
|
+
number: '+19403016308',
|
|
2008
|
+
},
|
|
2009
|
+
];
|
|
2010
|
+
|
|
2011
|
+
// Mock the service call to return successful result
|
|
2012
|
+
webex.cc.services.config.getOutdialAniEntries.mockResolvedValue(mockResult);
|
|
2013
|
+
|
|
2014
|
+
const result = await webex.cc.getOutdialAniEntries(mockParams);
|
|
2015
|
+
|
|
2016
|
+
// Verify the service was called with correct parameters
|
|
2017
|
+
expect(webex.cc.services.config.getOutdialAniEntries).toHaveBeenCalledWith('mockOrgId', {
|
|
2018
|
+
outdialANI: mockOutdialANI,
|
|
2019
|
+
page: 0,
|
|
2020
|
+
pageSize: 10,
|
|
2021
|
+
search: 'test',
|
|
2022
|
+
filter: 'active=true',
|
|
2023
|
+
attributes: 'id,name,number',
|
|
2024
|
+
});
|
|
2025
|
+
|
|
2026
|
+
// Verify the result is returned correctly
|
|
2027
|
+
expect(result).toEqual(mockResult);
|
|
2028
|
+
|
|
2029
|
+
// Verify success metrics are tracked
|
|
2030
|
+
expect(mockMetricsManager.trackEvent).toHaveBeenCalledWith(
|
|
2031
|
+
METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS,
|
|
2032
|
+
{
|
|
2033
|
+
outdialANI: mockOutdialANI,
|
|
2034
|
+
resultCount: 2,
|
|
2035
|
+
},
|
|
2036
|
+
['behavioral', 'business', 'operational']
|
|
2037
|
+
);
|
|
2038
|
+
|
|
2039
|
+
// Verify success logging
|
|
2040
|
+
expect(LoggerProxy.log).toHaveBeenCalledWith(
|
|
2041
|
+
`Successfully retrieved outdial ANI entries for ANI ID ${mockOutdialANI}`,
|
|
2042
|
+
{
|
|
2043
|
+
module: CC_FILE,
|
|
2044
|
+
method: 'getOutdialAniEntries',
|
|
2045
|
+
}
|
|
2046
|
+
);
|
|
2047
|
+
});
|
|
2048
|
+
|
|
2049
|
+
it('should handle empty results and track success metrics with zero count', async () => {
|
|
2050
|
+
const mockResult = [];
|
|
2051
|
+
|
|
2052
|
+
// Mock the service call to return empty result
|
|
2053
|
+
webex.cc.services.config.getOutdialAniEntries.mockResolvedValue(mockResult);
|
|
2054
|
+
|
|
2055
|
+
const result = await webex.cc.getOutdialAniEntries({outdialANI: mockOutdialANI});
|
|
2056
|
+
|
|
2057
|
+
// Verify the result is returned correctly
|
|
2058
|
+
expect(result).toEqual(mockResult);
|
|
2059
|
+
|
|
2060
|
+
// Verify success metrics are tracked with zero count
|
|
2061
|
+
expect(mockMetricsManager.trackEvent).toHaveBeenCalledWith(
|
|
2062
|
+
METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS,
|
|
2063
|
+
{
|
|
2064
|
+
outdialANI: mockOutdialANI,
|
|
2065
|
+
resultCount: 0,
|
|
2066
|
+
},
|
|
2067
|
+
['behavioral', 'business', 'operational']
|
|
2068
|
+
);
|
|
2069
|
+
});
|
|
2070
|
+
|
|
2071
|
+
it('should handle undefined results and track success metrics with zero count', async () => {
|
|
2072
|
+
// Mock the service call to return undefined
|
|
2073
|
+
webex.cc.services.config.getOutdialAniEntries.mockResolvedValue(undefined);
|
|
2074
|
+
|
|
2075
|
+
const result = await webex.cc.getOutdialAniEntries({outdialANI: mockOutdialANI});
|
|
2076
|
+
|
|
2077
|
+
// Verify the result is returned correctly
|
|
2078
|
+
expect(result).toBeUndefined();
|
|
2079
|
+
|
|
2080
|
+
// Verify success metrics are tracked with zero count
|
|
2081
|
+
expect(mockMetricsManager.trackEvent).toHaveBeenCalledWith(
|
|
2082
|
+
METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS,
|
|
2083
|
+
{
|
|
2084
|
+
outdialANI: mockOutdialANI,
|
|
2085
|
+
resultCount: 0,
|
|
2086
|
+
},
|
|
2087
|
+
['behavioral', 'business', 'operational']
|
|
2088
|
+
);
|
|
2089
|
+
});
|
|
2090
|
+
|
|
2091
|
+
it('should handle service failure and track failure metrics', async () => {
|
|
2092
|
+
const mockError = new Error('Service unavailable') as any;
|
|
2093
|
+
mockError.details = {
|
|
2094
|
+
trackingId: 'test-tracking-id',
|
|
2095
|
+
orgId: 'mockOrgId',
|
|
2096
|
+
error: 'Service error',
|
|
2097
|
+
};
|
|
2098
|
+
|
|
2099
|
+
// Mock the service call to throw an error
|
|
2100
|
+
webex.cc.services.config.getOutdialAniEntries.mockRejectedValue(mockError);
|
|
2101
|
+
|
|
2102
|
+
// Mock getErrorDetails to return a detailed error
|
|
2103
|
+
const detailedError = new Error('Detailed service error');
|
|
2104
|
+
getErrorDetailsSpy.mockReturnValue({error: detailedError});
|
|
2105
|
+
|
|
2106
|
+
await expect(webex.cc.getOutdialAniEntries(mockParams)).rejects.toThrow('Detailed service error');
|
|
2107
|
+
|
|
2108
|
+
// Verify failure metrics are tracked
|
|
2109
|
+
expect(mockMetricsManager.trackEvent).toHaveBeenCalledWith(
|
|
2110
|
+
METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_FAILED,
|
|
2111
|
+
{
|
|
2112
|
+
...MetricsManager.getCommonTrackingFieldForAQMResponseFailed(mockError.details),
|
|
2113
|
+
outdialANI: mockOutdialANI,
|
|
2114
|
+
error: mockError,
|
|
2115
|
+
},
|
|
2116
|
+
['behavioral', 'business', 'operational']
|
|
2117
|
+
);
|
|
2118
|
+
|
|
2119
|
+
// Verify error logging
|
|
2120
|
+
expect(LoggerProxy.error).toHaveBeenCalledWith(
|
|
2121
|
+
`Failed to fetch outdial ANI entries for ANI ID ${mockOutdialANI} due to: ${mockError}`,
|
|
2122
|
+
{
|
|
2123
|
+
module: CC_FILE,
|
|
2124
|
+
method: 'getOutdialAniEntries',
|
|
2125
|
+
trackingId: 'test-tracking-id',
|
|
2126
|
+
}
|
|
2127
|
+
);
|
|
2128
|
+
|
|
2129
|
+
// Verify getErrorDetails was called
|
|
2130
|
+
expect(getErrorDetailsSpy).toHaveBeenCalledWith(
|
|
2131
|
+
mockError,
|
|
2132
|
+
'getOutdialAniEntries',
|
|
2133
|
+
CC_FILE
|
|
2134
|
+
);
|
|
2135
|
+
});
|
|
2136
|
+
|
|
2137
|
+
it('should throw error when orgId is not found', async () => {
|
|
2138
|
+
// Mock getOrgId to return null
|
|
2139
|
+
webex.credentials.getOrgId.mockReturnValue(null);
|
|
2140
|
+
|
|
2141
|
+
await expect(webex.cc.getOutdialAniEntries(mockParams)).rejects.toThrow('Org ID not found.');
|
|
2142
|
+
|
|
2143
|
+
// Verify error logging
|
|
2144
|
+
expect(LoggerProxy.error).toHaveBeenCalledWith('Org ID not found.', {
|
|
2145
|
+
module: CC_FILE,
|
|
2146
|
+
method: 'getOutdialAniEntries',
|
|
2147
|
+
});
|
|
2148
|
+
|
|
2149
|
+
// Verify service was not called
|
|
2150
|
+
expect(webex.cc.services.config.getOutdialAniEntries).not.toHaveBeenCalled();
|
|
2151
|
+
|
|
2152
|
+
// Verify no metrics were tracked
|
|
2153
|
+
expect(mockMetricsManager.trackEvent).not.toHaveBeenCalled();
|
|
2154
|
+
});
|
|
2155
|
+
|
|
2156
|
+
it('should handle minimal parameters correctly', async () => {
|
|
2157
|
+
const minimalParams = {outdialANI: mockOutdialANI};
|
|
2158
|
+
const mockResult = [{id: 'test', name: 'Test', number: '+1234567890'}];
|
|
2159
|
+
|
|
2160
|
+
webex.cc.services.config.getOutdialAniEntries.mockResolvedValue(mockResult);
|
|
2161
|
+
|
|
2162
|
+
const result = await webex.cc.getOutdialAniEntries(minimalParams);
|
|
2163
|
+
|
|
2164
|
+
// Verify the service was called with minimal parameters
|
|
2165
|
+
expect(webex.cc.services.config.getOutdialAniEntries).toHaveBeenCalledWith('mockOrgId', {
|
|
2166
|
+
outdialANI: mockOutdialANI,
|
|
2167
|
+
});
|
|
2168
|
+
|
|
2169
|
+
expect(result).toEqual(mockResult);
|
|
2170
|
+
|
|
2171
|
+
// Verify success metrics are tracked
|
|
2172
|
+
expect(mockMetricsManager.trackEvent).toHaveBeenCalledWith(
|
|
2173
|
+
METRIC_EVENT_NAMES.OUTDIAL_ANI_EP_FETCH_SUCCESS,
|
|
2174
|
+
{
|
|
2175
|
+
outdialANI: mockOutdialANI,
|
|
2176
|
+
resultCount: 1,
|
|
2177
|
+
},
|
|
2178
|
+
['behavioral', 'business', 'operational']
|
|
2179
|
+
);
|
|
2180
|
+
});
|
|
2181
|
+
});
|
|
1978
2182
|
});
|