jswagger
Version:
60 lines (53 loc) • 1.86 kB
text/typescript
import chai from 'chai';
const expect = chai.expect;
const assert = chai.assert;
const should = chai.should();
import SwaggerClient from '../packages/client/src/client';
import * as internals from '../packages/client/src/internals';
function rangeToArray(begin: number, last: number): number[] {
const output: number[] = [];
for (let i=begin; i<=last; i++) {
output.push(i);
}
return output;
}
describe('Inter class-jsonobject converting Test', function () {
it('date-time', function () {
const propInfo = {
type: 'string',
format: 'date-time'
};
const orignalValue = new Date('2020-05-21T05:20:02.577Z');
const jsonValue = internals.leafConvertToJsonValue(propInfo, orignalValue);
const reconvValue = internals.leafConvertToClassValue(propInfo, jsonValue);
expect(jsonValue).eq('2020-05-21T05:20:02.577Z');
expect(reconvValue.getTime()).eq(orignalValue.getTime());
});
it('byte string', function () {
const propInfo = {
type: 'string',
format: 'byte'
};
const arrayValue = rangeToArray(0, 0xff);
const orignalValue = Buffer.from(arrayValue);
expect(orignalValue.length).eq(256);
const jsonValue = internals.leafConvertToJsonValue(propInfo, orignalValue);
const reconvValue = internals.leafConvertToClassValue(propInfo, jsonValue);
expect(reconvValue).eql(orignalValue);
});
});
describe('SwaggerClient Test', function () {
const urlConcatCases = [
['aaaa', 'bbbb'],
['aaaa/', 'bbbb'],
['aaaa', '/bbbb'],
['aaaa/', '/bbbb'],
['aaaa/bbbb', ''],
['', 'aaaa/bbbb']
];
urlConcatCases.forEach((values, index) => {
it('urlConcat case ' + (index + 1), async function () {
expect(SwaggerClient.urlConcat(values[0], values[1])).eq('aaaa/bbbb');
});
});
});