UNPKG

@securecall/client-component

Version:

SecureCall Core Web Component

75 lines (74 loc) 2.38 kB
export class MockSecureCallClientAPI { apiLocation; eventListeners = {}; debug = false; constructor(apiLocation) { this.apiLocation = apiLocation; } addEventListener(event, callback) { if (!this.eventListeners[event]) { this.eventListeners[event] = []; } this.eventListeners[event].push(callback); } removeEventListener(event, callback) { if (this.eventListeners[event]) { this.eventListeners[event] = this.eventListeners[event].filter(cb => cb !== callback); } } dispatchEvent(event, data) { if (this.eventListeners[event]) { this.eventListeners[event].forEach(callback => callback(data)); } } async authenticate(username, password, useCookie) { console.log('authenticate', username, password, useCookie); if (username === 'testuser' && password === 'password') { this.dispatchEvent('authentication', { success: true }); return Promise.resolve(); } else if (username === 'throw' && password === 'error') { throw new Error('test error'); } else if (username === undefined && password === undefined && useCookie === undefined) { throw new Error('bad parameters'); } else { this.dispatchEvent('authentication', { success: false, reason: 'Invalid credentials', code: 401 }); return Promise.resolve(); } } async logout() { return Promise.resolve(); } async secure() { this.dispatchEvent('session', { state: 'securing' }); setTimeout(() => { this.dispatchEvent('session', { state: 'collection', call_data: { state: 'secured' }, secure_data: {} }); }, 100); } async telephony(_data) { return Promise.resolve(); } async connect() { return Promise.resolve(); } async reset(v) { console.log('%%%%%%%%%%% reset', v); if (Array.isArray(v) && v.includes('expiry')) throw new Error('Reset failed'); } async submit(_data) { return Promise.resolve(); } disconnect() { } } //# sourceMappingURL=secure-call-client-api.mock.js.map