UNPKG

@methodus/server

Version:

Server components for @methodus workflow

43 lines 2.02 kB
"use strict"; 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