import { describe, it, expect } from 'vitest'; import { encodeMetadata, decodeMetadata } from './metadata'; import { Hex } from 'viem'; describe('Metadata Encoding and Decoding', () => { it('should encode metadata correctly', () => { const metadata = { key: 'value' }; const encoded = encodeMetadata(metadata); expect(encoded).toBeTypeOf('string'); // Add more specific checks if you know the expected encoded value }); it('should decode metadata correctly', () => { const metadata = { key: 'value' }; const encoded = encodeMetadata(metadata); const decoded = decodeMetadata(encoded as Hex); expect(decoded).toEqual(metadata); }); it('should handle empty metadata', () => { const metadata = {}; const encoded = encodeMetadata(metadata); const decoded = decodeMetadata(encoded as Hex); expect(decoded).toEqual(metadata); }); it('return empty object for invalid encoded data', () => { const invalidEncodedData = 'invalidHexData'; expect(decodeMetadata(invalidEncodedData as Hex)).toEqual({}); }); });