From f219a5e32b7dc6174fa6e87726d74c2189b01f34 Mon Sep 17 00:00:00 2001 From: JGiter Date: Mon, 17 Jan 2022 17:51:30 +0200 Subject: [PATCH] fix(didRegistry): update asset document --- e2e/cacheClient.e2e.ts | 36 +++++++++++++++++++ .../didRegistry/didRegistry.service.ts | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 e2e/cacheClient.e2e.ts diff --git a/e2e/cacheClient.e2e.ts b/e2e/cacheClient.e2e.ts new file mode 100644 index 00000000..30b5f3dd --- /dev/null +++ b/e2e/cacheClient.e2e.ts @@ -0,0 +1,36 @@ +import { initWithPrivateKeySigner, setCacheConfig } from "../src"; + +const rpcUrl = "https://volta-rpc.energyweb.org"; +const privateKey = ""; + +describe.skip("Cache client", () => { + test("Asset owner should be able to update asset document", async () => { + setCacheConfig(73799, { + url: "https://identitycache-dev.energyweb.org/v1", + cacheServerSupportsAuth: true, + }); + + const metadata = { meterId: "SolarM" }; + + const { connectToCacheServer } = await initWithPrivateKeySigner(privateKey, rpcUrl); + const { connectToDidRegistry, assetsService } = await connectToCacheServer(); + const { claimsService, didRegistry } = await connectToDidRegistry(); + + const assetAddress = await assetsService.registerAsset(); + const assetDid = `did:ethr:volta:${assetAddress}`; + + const claimUrl = await claimsService.createSelfSignedClaim({ + data: metadata, + subject: assetDid, + }); + + await new Promise((r) => setTimeout(r, 30_000)); + + const assetDoc = await didRegistry.getDidDocument({ did: assetDid, includeClaims: true }); + expect( + assetDoc.service.some( + (s) => s.serviceEndpoint === claimUrl && expect(s).toEqual(expect.objectContaining(metadata)), + ), + ); + }, 120000); +}); diff --git a/src/modules/didRegistry/didRegistry.service.ts b/src/modules/didRegistry/didRegistry.service.ts index f5869aad..5c53b27b 100644 --- a/src/modules/didRegistry/didRegistry.service.ts +++ b/src/modules/didRegistry/didRegistry.service.ts @@ -193,7 +193,7 @@ export class DidRegistry { { address: didContractAddress }, addressOf(assetDID) ); - const update = await operator.update(did, didAttribute, updateData); + const update = await operator.update(assetDID, didAttribute, updateData); return Boolean(update); }