feat: Explicit answer/reject for inbound calls (#2504)

This commit is contained in:
Dermot Duffy
2026-06-30 17:45:13 -07:00
committed by dermotduffy
parent b9f09b7c4e
commit f397596ed1
26 changed files with 503 additions and 362 deletions
@@ -0,0 +1,18 @@
import { expect, it } from 'vitest';
import { CallAnswerAction } from '../../../../src/card-controller/actions/actions/call-answer';
import { createCardAPI } from '../../../test-utils';
it('should handle call_answer action', async () => {
const api = createCardAPI();
const action = new CallAnswerAction(
{},
{
action: 'fire-dom-event',
advanced_camera_card_action: 'call_answer',
},
);
await action.execute(api);
expect(api.getCallManager().answer).toBeCalled();
});
@@ -1,4 +1,5 @@
import { describe, expect, it, vi } from 'vitest';
import { CallAnswerAction } from '../../../src/card-controller/actions/actions/call-answer';
import { CallEndAction } from '../../../src/card-controller/actions/actions/call-end';
import { CallServiceAction } from '../../../src/card-controller/actions/actions/call-service';
import { CallStartAction } from '../../../src/card-controller/actions/actions/call-start';
@@ -88,6 +89,7 @@ describe('ActionFactory', () => {
describe('custom actions', () => {
it.each([
[{ advanced_camera_card_action: 'call_answer' as const }, CallAnswerAction],
[{ advanced_camera_card_action: 'call_end' as const }, CallEndAction],
[{ advanced_camera_card_action: 'call_start' as const }, CallStartAction],
[{ advanced_camera_card_action: 'camera_select' as const }, CameraSelectAction],