UNPKG

@slavmak2486/bx24ts

Version:

Library for bitrix24

52 lines (44 loc) 3.04 kB
import axios from "axios"; import MockAdapter from "axios-mock-adapter"; import { BX24Dev } from "../../BX24Dev"; import authExample from "../constants/authExample"; import auth from "../mocks/auth"; import batchAppOption from "../mocks/batchAppOption"; let mock:MockAdapter; let bx24:BX24Dev; const exampleObj:any={ param1:'1', param2:2, param3: new Date('2022-12-13T00:00:00.000Z'), param4: [1,2,3,4], param5: ['a', 'b', 'c', 0], param6: { test: [{a:'b', c:'d'}, {a1:'b1', c1:'d1'}], test2: [{a2:'b2', c3:'d3'}, {a4:'b4', c5:'d5'}], } }; 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('Stringify manual Str', async () => { const testObj=JSON.parse(JSON.stringify(exampleObj)); const urlStr='param1=1&param2=2&param3=2022-12-13T00%3A00%3A00.000Z&param4%5B0%5D=1&param4%5B1%5D=2&param4%5B2%5D=3&param4%5B3%5D=4&param5%5B0%5D=a&param5%5B1%5D=b&param5%5B2%5D=c&param5%5B3%5D=0&param6%5Btest%5D%5B0%5D%5Ba%5D=b&param6%5Btest%5D%5B0%5D%5Bc%5D=d&param6%5Btest%5D%5B1%5D%5Ba1%5D=b1&param6%5Btest%5D%5B1%5D%5Bc1%5D=d1&param6%5Btest2%5D%5B0%5D%5Ba2%5D=b2&param6%5Btest2%5D%5B0%5D%5Bc3%5D=d3&param6%5Btest2%5D%5B1%5D%5Ba4%5D=b4&param6%5Btest2%5D%5B1%5D%5Bc5%5D=d5'; expect(bx24.getHttpString(testObj)).toEqual(urlStr); }); test('Stringify auto Str', async () => { const testObj=JSON.parse(JSON.stringify(exampleObj)); testObj.param7=JSON.parse(JSON.stringify(testObj)); const autoStr='param1=1&param2=2&param3=2022-12-13T00%3A00%3A00.000Z&param4%5B0%5D=1&param4%5B1%5D=2&param4%5B2%5D=3&param4%5B3%5D=4&param5%5B0%5D=a&param5%5B1%5D=b&param5%5B2%5D=c&param5%5B3%5D=0&param6%5Btest%5D%5B0%5D%5Ba%5D=b&param6%5Btest%5D%5B0%5D%5Bc%5D=d&param6%5Btest%5D%5B1%5D%5Ba1%5D=b1&param6%5Btest%5D%5B1%5D%5Bc1%5D=d1&param6%5Btest2%5D%5B0%5D%5Ba2%5D=b2&param6%5Btest2%5D%5B0%5D%5Bc3%5D=d3&param6%5Btest2%5D%5B1%5D%5Ba4%5D=b4&param6%5Btest2%5D%5B1%5D%5Bc5%5D=d5&param7%5Bparam1%5D=1&param7%5Bparam2%5D=2&param7%5Bparam3%5D=2022-12-13T00%3A00%3A00.000Z&param7%5Bparam4%5D%5B0%5D=1&param7%5Bparam4%5D%5B1%5D=2&param7%5Bparam4%5D%5B2%5D=3&param7%5Bparam4%5D%5B3%5D=4&param7%5Bparam5%5D%5B0%5D=a&param7%5Bparam5%5D%5B1%5D=b&param7%5Bparam5%5D%5B2%5D=c&param7%5Bparam5%5D%5B3%5D=0&param7%5Bparam6%5D%5Btest%5D%5B0%5D%5Ba%5D=b&param7%5Bparam6%5D%5Btest%5D%5B0%5D%5Bc%5D=d&param7%5Bparam6%5D%5Btest%5D%5B1%5D%5Ba1%5D=b1&param7%5Bparam6%5D%5Btest%5D%5B1%5D%5Bc1%5D=d1&param7%5Bparam6%5D%5Btest2%5D%5B0%5D%5Ba2%5D=b2&param7%5Bparam6%5D%5Btest2%5D%5B0%5D%5Bc3%5D=d3&param7%5Bparam6%5D%5Btest2%5D%5B1%5D%5Ba4%5D=b4&param7%5Bparam6%5D%5Btest2%5D%5B1%5D%5Bc5%5D=d5'; expect(bx24.getHttpString(testObj)).toEqual(autoStr); });