1
0
mirror of https://github.com/oceanprotocol-archive/squid-js.git synced 2024-02-02 15:31:51 +01:00
squid-js/test/keeper/DIDRegistry.test.ts

90 lines
3.3 KiB
TypeScript
Raw Normal View History

import {assert} from "chai"
import ConfigProvider from "../../src/ConfigProvider"
import DIDRegistry from "../../src/keeper/contracts/DIDRegistry"
import Account from "../../src/ocean/Account"
import IdGenerator from "../../src/ocean/IdGenerator"
import Ocean from "../../src/ocean/Ocean"
import Logger from "../../src/utils/Logger"
import config from "../config"
import TestContractHandler from "./TestContractHandler"
let ocean: Ocean
let didRegistry: DIDRegistry
describe("DIDRegistry", () => {
before(async () => {
ConfigProvider.setConfig(config)
await TestContractHandler.prepareContracts()
ocean = await Ocean.getInstance(config)
didRegistry = await DIDRegistry.getInstance()
})
describe("#registerAttribute()", () => {
it("should register an attribute in a new did", async () => {
const ownerAccount: Account = (await ocean.getAccounts())[0]
2018-12-17 14:17:35 +01:00
const did = IdGenerator.generateId()
const data = "my nice provider, is nice"
2019-02-06 00:38:54 +01:00
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.getAccounts())[0]
2018-12-17 14:17:35 +01:00
const did = IdGenerator.generateId()
{
// register the first attribute
const data = "my nice provider, is nice"
2019-02-06 00:38:54 +01:00
await didRegistry.registerAttribute(did, "0123456789abcdef", data, ownerAccount.getId())
}
{
// register the second attribute with the same did
const data = "asdsad"
2019-02-06 00:38:54 +01:00
const receipt = await didRegistry.registerAttribute(did, "0123456789abcdef", data, ownerAccount.getId())
assert(receipt.status)
assert(receipt.events.DIDAttributeRegistered)
}
})
})
describe("#getOwner()", () => {
it("should get the owner of a did properly", async () => {
const ownerAccount: Account = (await ocean.getAccounts())[0]
2018-12-17 14:17:35 +01:00
const did = IdGenerator.generateId()
const data = "my nice provider, is nice"
2019-02-06 00:38:54 +01:00
await didRegistry.registerAttribute(did, "0123456789abcdef", data, ownerAccount.getId())
const owner = await didRegistry.getOwner(did)
assert(owner === ownerAccount.getId(), `Got ${owner} but expected ${ownerAccount.getId()}`)
})
it("should get 0x00.. for a not registered did", async () => {
2018-12-17 14:17:35 +01:00
const owner = await didRegistry.getOwner("1234")
assert(owner === "0x0000000000000000000000000000000000000000")
})
})
describe("#getUpdateAt()", () => {
it("should the block number of the last update of the did attribute", async () => {
const ownerAccount: Account = (await ocean.getAccounts())[0]
2018-12-17 14:17:35 +01:00
const did = IdGenerator.generateId()
const data = "my nice provider, is nice"
2019-02-06 00:38:54 +01:00
await didRegistry.registerAttribute(did, "0123456789abcdef", data, ownerAccount.getId())
const updatedAt: number = await didRegistry.getUpdateAt(did)
assert(updatedAt > 0)
Logger.log(typeof updatedAt)
})
})
})