@slavmak2486/bx24ts
Version:
Library for bitrix24
52 lines (44 loc) • 3.04 kB
text/typescript
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¶m2=2¶m3=2022-12-13T00%3A00%3A00.000Z¶m4%5B0%5D=1¶m4%5B1%5D=2¶m4%5B2%5D=3¶m4%5B3%5D=4¶m5%5B0%5D=a¶m5%5B1%5D=b¶m5%5B2%5D=c¶m5%5B3%5D=0¶m6%5Btest%5D%5B0%5D%5Ba%5D=b¶m6%5Btest%5D%5B0%5D%5Bc%5D=d¶m6%5Btest%5D%5B1%5D%5Ba1%5D=b1¶m6%5Btest%5D%5B1%5D%5Bc1%5D=d1¶m6%5Btest2%5D%5B0%5D%5Ba2%5D=b2¶m6%5Btest2%5D%5B0%5D%5Bc3%5D=d3¶m6%5Btest2%5D%5B1%5D%5Ba4%5D=b4¶m6%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¶m2=2¶m3=2022-12-13T00%3A00%3A00.000Z¶m4%5B0%5D=1¶m4%5B1%5D=2¶m4%5B2%5D=3¶m4%5B3%5D=4¶m5%5B0%5D=a¶m5%5B1%5D=b¶m5%5B2%5D=c¶m5%5B3%5D=0¶m6%5Btest%5D%5B0%5D%5Ba%5D=b¶m6%5Btest%5D%5B0%5D%5Bc%5D=d¶m6%5Btest%5D%5B1%5D%5Ba1%5D=b1¶m6%5Btest%5D%5B1%5D%5Bc1%5D=d1¶m6%5Btest2%5D%5B0%5D%5Ba2%5D=b2¶m6%5Btest2%5D%5B0%5D%5Bc3%5D=d3¶m6%5Btest2%5D%5B1%5D%5Ba4%5D=b4¶m6%5Btest2%5D%5B1%5D%5Bc5%5D=d5¶m7%5Bparam1%5D=1¶m7%5Bparam2%5D=2¶m7%5Bparam3%5D=2022-12-13T00%3A00%3A00.000Z¶m7%5Bparam4%5D%5B0%5D=1¶m7%5Bparam4%5D%5B1%5D=2¶m7%5Bparam4%5D%5B2%5D=3¶m7%5Bparam4%5D%5B3%5D=4¶m7%5Bparam5%5D%5B0%5D=a¶m7%5Bparam5%5D%5B1%5D=b¶m7%5Bparam5%5D%5B2%5D=c¶m7%5Bparam5%5D%5B3%5D=0¶m7%5Bparam6%5D%5Btest%5D%5B0%5D%5Ba%5D=b¶m7%5Bparam6%5D%5Btest%5D%5B0%5D%5Bc%5D=d¶m7%5Bparam6%5D%5Btest%5D%5B1%5D%5Ba1%5D=b1¶m7%5Bparam6%5D%5Btest%5D%5B1%5D%5Bc1%5D=d1¶m7%5Bparam6%5D%5Btest2%5D%5B0%5D%5Ba2%5D=b2¶m7%5Bparam6%5D%5Btest2%5D%5B0%5D%5Bc3%5D=d3¶m7%5Bparam6%5D%5Btest2%5D%5B1%5D%5Ba4%5D=b4¶m7%5Bparam6%5D%5Btest2%5D%5B1%5D%5Bc5%5D=d5';
expect(bx24.getHttpString(testObj)).toEqual(autoStr);
});