/** * Generated by orval v8.19.0 🍺 * Do not edit manually. * Webitel API * OpenAPI spec version: 24.04.0 */ import { faker } from '@faker-js/faker'; import type { RequestHandlerOptions } from 'msw'; import { HttpResponse, http } from 'msw'; import type { EngineActivityWorkspaceWidgetResponse, EngineDefaultDeviceConfigResponse, EngineListOpenedWebSocket, } from '../_models'; export const getDefaultDeviceConfigResponseMock = ( overrideResponse: Partial< Extract > = {}, ): EngineDefaultDeviceConfigResponse => ({ sip: faker.helpers.arrayElement([ { auth: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), domain: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), extension: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), password: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), proxy: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), webrtc: faker.helpers.arrayElement([ { authorizationUser: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), displayName: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), extension: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), ha1: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), realm: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), server: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), uri: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), ...overrideResponse, }); export const getActivityWorkspaceWidgetResponseMock = ( overrideResponse: Partial< Extract > = {}, ): EngineActivityWorkspaceWidgetResponse => ({ available: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), avgHoldSec: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), avgTalkSec: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), callAbandoned: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), callDialerQueue: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), callHandled: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), callInbound: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), callInboundQueue: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), callManual: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), callMissed: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), callQueueMissed: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), chatAccepts: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), chatAht: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), occupancy: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), online: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), processing: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), queueTalkSec: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), scoreCount: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), scoreOptionalAvg: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), scoreOptionalSum: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), scoreRequiredAvg: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), scoreRequiredSum: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), sumTalkSec: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), taskAccepts: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), utilization: faker.helpers.arrayElement([ faker.number.float({ fractionDigits: 2, }), undefined, ]), voiceMail: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), ...overrideResponse, }); export const getOpenedWebSocketsResponseMock = ( overrideResponse: Partial> = {}, ): EngineListOpenedWebSocket => ({ items: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ applicationName: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), createdAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), duration: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), ip: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), pong: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), updatedAt: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), userAgent: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), ver: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), })), undefined, ]), next: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), ...overrideResponse, }); export const getDefaultDeviceConfigMockHandler = ( overrideResponse?: | EngineDefaultDeviceConfigResponse | (( info: Parameters[1]>[0], ) => | Promise | EngineDefaultDeviceConfigResponse), options?: RequestHandlerOptions, ) => { return http.get( '*/user/device/config/:type', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getDefaultDeviceConfigResponseMock(), { status: 200, }, ); }, options, ); }; export const getActivityWorkspaceWidgetMockHandler = ( overrideResponse?: | EngineActivityWorkspaceWidgetResponse | (( info: Parameters[1]>[0], ) => | Promise | EngineActivityWorkspaceWidgetResponse), options?: RequestHandlerOptions, ) => { return http.get( '*/user/widget/activity/today', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getActivityWorkspaceWidgetResponseMock(), { status: 200, }, ); }, options, ); }; export const getOpenedWebSocketsMockHandler = ( overrideResponse?: | EngineListOpenedWebSocket | (( info: Parameters[1]>[0], ) => Promise | EngineListOpenedWebSocket), options?: RequestHandlerOptions, ) => { return http.get( '*/user/:userId/websockets', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getOpenedWebSocketsResponseMock(), { status: 200, }, ); }, options, ); }; export const getUserHelperServiceMock = () => [ getDefaultDeviceConfigMockHandler(), getActivityWorkspaceWidgetMockHandler(), getOpenedWebSocketsMockHandler(), ];