@methodus/server
Version:
Server components for @methodus workflow
43 lines • 2.02 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const deserialize_1 = require("./deserialize");
describe('Deserialize', () => {
it('Boolean string', () => {
const deserializeResult = deserialize_1.deserialize({ type: 'bool', value: 'false' });
expect(deserializeResult).toBe(false);
});
it('Date string', () => {
const deserializeResult = deserialize_1.deserialize({ type: 'date', value: '12/01/1975' });
expect(deserializeResult).toBeDefined();
});
it('Simple string', () => {
const deserializeResult = deserialize_1.deserialize({ type: 'string', value: 'my name is slim shady' });
expect(deserializeResult).toBe('my name is slim shady');
});
it('Object string', () => {
const deserializeResult = deserialize_1.deserialize({ type: 'object', value: '{"name":"my name"}' });
expect(deserializeResult).toStrictEqual({ name: 'my name' });
});
it('object with deserializer function', () => {
const deserializeResult = deserialize_1.deserialize({ type: { deserialize: (value) => JSON.parse(value) }, value: 'false' });
expect(deserializeResult).toBe(false);
});
it('object with deserializer with a class type', () => {
const deserializeResult = deserialize_1.deserialize({ type: requestedType, value: '{ "name": "my name" }' });
expect(deserializeResult.name).toBe('my name');
});
it('object with deserializer with a string object', () => {
const deserializeResult = deserialize_1.deserialize({ value: '{ "name": "my name" }' });
expect(deserializeResult.name).toBe('my name');
});
it('object with deserializer with direct object', () => {
const deserializeResult = deserialize_1.deserialize({ name: 'my name' });
expect(deserializeResult.name).toBe('my name');
});
});
class requestedType {
constructor(data) {
this.name = data.name;
}
}
//# sourceMappingURL=deserialize.spec.js.map
;