/** * 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 { WebitelCasesLinkCommunicationResponse, WebitelCasesListCommunicationsResponse, WebitelCasesUnlinkCommunicationResponse, } from '../_models'; export const getListCommunicationsResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelCasesListCommunicationsResponse => ({ data: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ communicationId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), communicationType: faker.helpers.arrayElement([ { id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), etag: 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, ]), ver: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), })), undefined, ]), next: faker.helpers.arrayElement([ faker.datatype.boolean(), undefined, ]), page: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), ...overrideResponse, }); export const getLinkCommunicationResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelCasesLinkCommunicationResponse => ({ data: faker.helpers.arrayElement([ Array.from( { length: faker.number.int({ min: 1, max: 10, }), }, (_, i) => i + 1, ).map(() => ({ communicationId: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), communicationType: faker.helpers.arrayElement([ { id: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), name: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), }, undefined, ]), etag: 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, ]), ver: faker.helpers.arrayElement([ faker.number.int(), undefined, ]), })), undefined, ]), ...overrideResponse, }); export const getUnlinkCommunicationResponseMock = ( overrideResponse: Partial< Extract > = {}, ): WebitelCasesUnlinkCommunicationResponse => ({ affected: faker.helpers.arrayElement([ faker.string.alpha({ length: { min: 10, max: 20, }, }), undefined, ]), ...overrideResponse, }); export const getListCommunicationsMockHandler = ( overrideResponse?: | WebitelCasesListCommunicationsResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelCasesListCommunicationsResponse), options?: RequestHandlerOptions, ) => { return http.get( '*/cases/:caseEtag/communication', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getListCommunicationsResponseMock(), { status: 200, }, ); }, options, ); }; export const getLinkCommunicationMockHandler = ( overrideResponse?: | WebitelCasesLinkCommunicationResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelCasesLinkCommunicationResponse), options?: RequestHandlerOptions, ) => { return http.post( '*/cases/:caseEtag/communication', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getLinkCommunicationResponseMock(), { status: 200, }, ); }, options, ); }; export const getUnlinkCommunicationMockHandler = ( overrideResponse?: | WebitelCasesUnlinkCommunicationResponse | (( info: Parameters[1]>[0], ) => | Promise | WebitelCasesUnlinkCommunicationResponse), options?: RequestHandlerOptions, ) => { return http.delete( '*/cases/:caseEtag/communication/:id', async (info: Parameters[1]>[0]) => { return HttpResponse.json( overrideResponse !== undefined ? typeof overrideResponse === 'function' ? await overrideResponse(info) : overrideResponse : getUnlinkCommunicationResponseMock(), { status: 200, }, ); }, options, ); }; export const getCaseCommunicationsMock = () => [ getListCommunicationsMockHandler(), getLinkCommunicationMockHandler(), getUnlinkCommunicationMockHandler(), ];