UNPKG

@slavmak2486/bx24ts

Version:

Library for bitrix24

67 lines (59 loc) 2.17 kB
import {BX24Dev} from '../index'; import axios from 'axios'; import MockAdapter from "axios-mock-adapter"; import batch from './mocks/batch' import leadList from './mocks/leadList'; import batchAppOption from './mocks/batchAppOption'; import auth from './mocks/auth'; import authExample from './constants/authExample' let mock:MockAdapter; let bx24:BX24Dev; beforeAll(async () => { mock = new MockAdapter(axios); mock.onPost('https://oauth.bitrix.info/oauth/token/').reply(201, auth); mock.onPost('https://example.bitrix24.ru/rest/batch.json').reply(200, batchAppOption); await new Promise(resolve=>{ bx24=new BX24Dev(authExample, ()=>{ resolve(true); }); }); mock.reset(); }); afterEach(() => { mock.reset(); }); test('Test callMethod Promise', async () => { mock.onPost('https://example.bitrix24.ru/rest/batch.json').reply(200, batch); const promise= bx24.callBatch({ getDeals:['crm.deal.list', {}], getLeads:['crm.lead.list', {}], getByID:['crm.deal.get', {id:123123}] }); // .data()).toEqual(); const result=await promise; for (const request in result){ switch (request) { case 'getDeals': expect(result[request].data()).toEqual(batch.result.result.getDeals); expect(result[request].total()).toEqual(batch.result.result_total.getDeals); expect(result[request].error()).toBeUndefined(); break; case 'getLeads': expect(result[request].data()).toEqual(leadList.result); expect(result[request].total()).toEqual(leadList.total); expect(result[request].error()).toBeUndefined(); break; case 'getByID':{ expect(result[request].error()).toEqual({ status: 200, ex: { error: '', error_description: 'Not found' } }); break; } default: break; } } // expect(result).toEqual(batchFormated); // expect(result.total()).toEqual(dealList.total); });