import { assert } from "chai" import { config } from "../config" import { getMetadata } from "../utils" import { Ocean, Account } from "../../src" // @oceanprotocol/squid describe("Asset Owners", () => { let ocean: Ocean let account1: Account let account2: Account const metadata = getMetadata() before(async () => { ocean = await Ocean.getInstance(config) // Accounts const accounts = await ocean.accounts.list() account1 = accounts[0] account2 = accounts[1] }) it("should be set correctly the owner of a asset", async () => { const ddo = await ocean.assets.create(metadata as any, account1) const owner = await ocean.assets.owner(ddo.id) assert.equal(owner, account1.getId()) }) it("should get the assets owned by a user", async () => { const {length: initialLength} = await ocean.assets.ownerAssets(account2.getId()) await ocean.assets.create(metadata as any, account1) await ocean.assets.create(metadata as any, account1) await ocean.assets.create(metadata as any, account2) const {length: finalLength} = await ocean.assets.ownerAssets(account2.getId()) assert.equal(finalLength - initialLength, 1) }) it("should get the assets that can be consumer by a user", async () => { const {length: initialLength} = await ocean.assets.consumerAssets(account2.getId()) const ddo = await ocean.assets.create(metadata as any, account1) const {length: finalLength1} = await ocean.assets.consumerAssets(account2.getId()) assert.equal(finalLength1 - initialLength, 0) // Granting access await account2.requestTokens(+metadata.base.price * (10 ** -await ocean.keeper.token.decimals())) await ocean.assets.order(ddo.id, ddo.findServiceByType("Access").serviceDefinitionId, account2) // Access granted const {length: finalLength2} = await ocean.assets.consumerAssets(account2.getId()) assert.equal(finalLength2 - initialLength, 1) }) })