import {assert} from "chai" import DIDRegistry from "../../src/keeper/contracts/DIDRegistry" import Account from "../../src/ocean/Account" import { Ocean } from "../../src/ocean/Ocean" import { generateId } from "../../src/utils/GeneratorHelpers" import config from "../config" import TestContractHandler from "./TestContractHandler" let ocean: Ocean let didRegistry: DIDRegistry describe("DIDRegistry", () => { before(async () => { await TestContractHandler.prepareContracts() ocean = await Ocean.getInstance(config) didRegistry = ocean.keeper.didRegistry }) describe("#registerAttribute()", () => { it("should register an attribute in a new did", async () => { const ownerAccount: Account = (await ocean.accounts.list())[0] const did = generateId() const data = "my nice provider, is nice" const receipt = await didRegistry.registerAttribute(did, `0123456789abcdef`, [], data, ownerAccount.getId()) assert(receipt.status) assert(receipt.events.DIDAttributeRegistered) }) it("should register another attribute in the same did", async () => { const ownerAccount: Account = (await ocean.accounts.list())[0] const did = generateId() { // register the first attribute const data = "my nice provider, is nice" await didRegistry.registerAttribute(did, "0123456789abcdef", [], data, ownerAccount.getId()) } { // register the second attribute with the same did const data = "asdsad" const receipt = await didRegistry.registerAttribute(did, "0123456789abcdef", [], data, ownerAccount.getId()) assert.isTrue(receipt.status) assert.isDefined(receipt.events.DIDAttributeRegistered) } }) }) describe("#getDIDOwner()", () => { it("should get the owner of a did properly", async () => { const ownerAccount: Account = (await ocean.accounts.list())[0] const did = generateId() const data = "my nice provider, is nice" await didRegistry.registerAttribute(did, "0123456789abcdef", [], data, ownerAccount.getId()) const owner = await didRegistry.getDIDOwner(did) assert.equal(owner, ownerAccount.getId(), `Got ${owner} but expected ${ownerAccount.getId()}`) }) it("should get 0x0 for a not registered did", async () => { const owner = await didRegistry.getDIDOwner("1234") assert.equal(owner, `0x${"0".repeat(40)}`) }) }) })