UNPKG

@ew-did-registry/did-ethr-resolver

Version:

The package resolve CRUD operations on DID Documents

56 lines (54 loc) 2.17 kB
import { IDIDLogData } from '@ew-did-registry/did-resolver-interface'; import { expect } from 'chai'; import { BigNumber } from 'ethers'; import { documentFromLogs } from '../src'; describe('documentFromLogs', () => { /** * This test is what the cache-server does for DID document caching. * The cache-server reads logs once and wraps to return DID Doc. * Then, when new logs arrive it appends them to the array and wraps again. * So wrapping shouldn't modify the logs. */ it('obtaining document twice from same logs should return the same document', async () => { const logs: IDIDLogData[] = [ { owner: '0x0000000000000000000000000000000000000000', topBlock: BigNumber.from('0xe34915'), authentication: {}, publicKey: { 'did:ethr:volta:0x5F7B380b0c8962496f85572074b5C9461C08bbb4#key-owner': { id: 'did:ethr:volta:0x5F7B380b0c8962496f85572074b5C9461C08bbb4#key-owner', type: 'Secp256k1veriKey', controller: '0x5F7B380b0c8962496f85572074b5C9461C08bbb4', validity: BigNumber.from('0x20000061b08e7b'), block: 14895381, publicKeyHex: '039ff520614041598142a6ca5aacd873e48e81d68485559d4c4b53e5835393a84a', }, }, service: { '8258ac3b-e36a-465b-8668-a60cc0c2b00a': { type: 'some-type', id: '8258ac3b-e36a-465b-8668-a60cc0c2b00a', serviceEndpoint: 'QmQidC7fvZKUYajbf8HXW537Gp2Nim2Bmfk5eMrcFXSRH7', hash: '237f4ebb6ed606ba29f5511d5e90338fc266ff714177be5661ba540d547b65a8', hashAlg: 'SHA256', validity: BigNumber.from('0x2000006179a924'), block: 14231840, }, }, attributes: {} as Map< string, { [key: string]: string | number | unknown; } >, }, ]; const did = 'did:ethr:volta:0x5F7B380b0c8962496f85572074b5C9461C08bbb4'; const wrappedDoc = documentFromLogs(did, logs); const wrappedAgain = documentFromLogs(did, logs); expect(wrappedDoc).to.eql(wrappedAgain); }); });