import { assert, /*expect,*/ spy, use } from "chai" import * as spies from "chai-spies" import config from "../config" import Account from "../../src/ocean/Account" import { Ocean } from "../../src/ocean/Ocean" import { OceanAccounts } from "../../src/ocean/OceanAccounts" use(spies) describe("OceanAccounts", () => { let oceanAccounts: OceanAccounts before(async () => { oceanAccounts = (await Ocean.getInstance(config)).accounts }) afterEach(() => { spy.restore() }) describe("#list()", () => { it("should return the list of accounts", async () => { const accounts = await oceanAccounts.list() accounts.map((account) => assert.instanceOf(account, Account)) }) }) describe("#balance()", () => { it("should return the balance of an account", async () => { const [account] = await oceanAccounts.list() spy.on(account, "getBalance", () => ({eth: 1, ocn: 5})) const balance = await oceanAccounts.balance(account) assert.deepEqual(balance, {eth: 1, ocn: 5}) }) }) describe("#requestTokens()", () => { it("should return the balance of an account", async () => { const [account] = await oceanAccounts.list() spy.on(account, "requestTokens", () => 10) const success = await oceanAccounts.requestTokens(account, 10) assert.isTrue(success) }) }) })