@yoroi/common
Version:
The Common package of Yoroi SDK
110 lines (109 loc) • 3.38 kB
JavaScript
"use strict";
var _zod = _interopRequireDefault(require("zod"));
var _cacheRecordSchemaMaker = require("./cache-record-schema-maker");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('cacheRecordSchemaMaker', () => {
it('should validate a valid cache record', () => {
const recordSchema = _zod.default.object({
id: _zod.default.string(),
name: _zod.default.string()
});
const cacheRecordSchema = (0, _cacheRecordSchemaMaker.cacheRecordSchemaMaker)(recordSchema);
const validCacheRecord = {
record: {
id: '123',
name: 'Test'
},
expires: 1000,
hash: 'hash123'
};
const result = cacheRecordSchema.safeParse(validCacheRecord);
expect(result.success).toBe(true);
});
it('should not validate an invalid cache record', () => {
const recordSchema = _zod.default.object({
id: _zod.default.string(),
name: _zod.default.string()
});
const cacheRecordSchema = (0, _cacheRecordSchemaMaker.cacheRecordSchemaMaker)(recordSchema);
const invalidCacheRecord = {
record: {
id: '123',
name: 123
},
expires: -100,
hash: 'hash123'
};
const result = cacheRecordSchema.safeParse(invalidCacheRecord);
expect(result.success).toBe(false);
});
});
describe('isCacheRecord', () => {
it('should return true for a valid cache record', () => {
const recordSchema = _zod.default.object({
id: _zod.default.string(),
name: _zod.default.string()
});
const validCacheRecord = {
record: {
id: '123',
name: 'Test'
},
expires: 1000,
hash: 'hash123'
};
const result = (0, _cacheRecordSchemaMaker.isCacheRecord)(recordSchema, validCacheRecord);
expect(result).toBe(true);
});
it('should return false for an invalid cache record', () => {
const recordSchema = _zod.default.object({
id: _zod.default.string(),
name: _zod.default.string()
});
const invalidCacheRecord = {
record: {
id: '123',
name: 123
},
expires: -100,
hash: 'hash123'
};
const result = (0, _cacheRecordSchemaMaker.isCacheRecord)(recordSchema, invalidCacheRecord);
expect(result).toBe(false);
});
});
describe('parseCacheRecord', () => {
it('should return the cache record for a valid cache record', () => {
const recordSchema = _zod.default.object({
id: _zod.default.string(),
name: _zod.default.string()
});
const validCacheRecord = {
record: {
id: '123',
name: 'Test'
},
expires: 1000,
hash: 'hash123'
};
const result = (0, _cacheRecordSchemaMaker.parseCacheRecord)(recordSchema, validCacheRecord);
expect(result).toEqual(validCacheRecord);
});
it('should return undefined for an invalid cache record', () => {
const recordSchema = _zod.default.object({
id: _zod.default.string(),
name: _zod.default.string()
});
const invalidCacheRecord = {
record: {
id: '123',
name: 123
},
expires: -100,
hash: 'hash123'
};
const result = (0, _cacheRecordSchemaMaker.parseCacheRecord)(recordSchema, invalidCacheRecord);
expect(result).toBeUndefined();
});
});
//# sourceMappingURL=cache-record-schema-maker.test.js.map