2018-10-29 17:28:40 +01:00
|
|
|
import {assert} from "chai"
|
2018-10-18 09:19:10 +02:00
|
|
|
import ConfigProvider from "../../src/ConfigProvider"
|
|
|
|
import ContractHandler from "../../src/keeper/ContractHandler"
|
2018-10-29 17:28:40 +01:00
|
|
|
import Account from "../../src/ocean/Account"
|
|
|
|
import Ocean from "../../src/ocean/Ocean"
|
2018-10-18 09:19:10 +02:00
|
|
|
import config from "../config"
|
2018-10-18 13:12:23 +02:00
|
|
|
import ContractBaseMock from "../mocks/ContractBase.Mock"
|
2018-10-18 09:19:10 +02:00
|
|
|
|
2018-10-18 13:12:23 +02:00
|
|
|
const wrappedContract = new ContractBaseMock("OceanToken")
|
2018-10-29 17:28:40 +01:00
|
|
|
let accounts: Account[]
|
2018-10-18 09:19:10 +02:00
|
|
|
|
|
|
|
describe("ContractWrapperBase", () => {
|
|
|
|
|
2018-10-26 10:40:46 +02:00
|
|
|
before(async () => {
|
|
|
|
ConfigProvider.setConfig(config)
|
2018-11-06 16:13:12 +01:00
|
|
|
await ContractHandler.prepareContracts()
|
2018-10-29 17:28:40 +01:00
|
|
|
await wrappedContract.initMock()
|
|
|
|
const ocean: Ocean = await Ocean.getInstance(config)
|
|
|
|
accounts = await ocean.getAccounts()
|
2018-10-26 10:40:46 +02:00
|
|
|
})
|
|
|
|
|
2018-10-18 09:19:10 +02:00
|
|
|
describe("#call()", () => {
|
|
|
|
|
|
|
|
it("should fail to call on an unknown contract function", (done) => {
|
|
|
|
|
|
|
|
wrappedContract.callMock("balanceOfxxx", [])
|
|
|
|
.catch(() => {
|
|
|
|
|
|
|
|
done()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
it("should fail to call on an contract function with wrong set of parameters", (done) => {
|
|
|
|
|
|
|
|
wrappedContract.callMock("balanceOf", [])
|
|
|
|
.catch(() => {
|
|
|
|
|
|
|
|
done()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
it("should fail to call on an unknown contract function", (done) => {
|
|
|
|
|
|
|
|
wrappedContract.sendMock("balanceOfxxx", "0x00", ["0x00"])
|
|
|
|
.catch(() => {
|
|
|
|
|
|
|
|
done()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
it("should fail to call on an contract function with wrong set of parameters", (done) => {
|
|
|
|
|
|
|
|
wrappedContract.sendMock("approve", "0x000", [])
|
|
|
|
.catch(() => {
|
|
|
|
|
|
|
|
done()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2018-10-29 17:28:40 +01:00
|
|
|
describe("#send()", () => {
|
|
|
|
|
|
|
|
it("should fail to call on an unknown contract function", (done) => {
|
|
|
|
|
|
|
|
wrappedContract.sendMock("transferxxx", accounts[0].getId(), [])
|
|
|
|
.catch(() => {
|
|
|
|
|
|
|
|
done()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
describe("#getSignatureOfMethod()", () => {
|
|
|
|
|
|
|
|
it("should a signature of the function", async () => {
|
|
|
|
|
|
|
|
const sig = wrappedContract.getSignatureOfMethod("name")
|
|
|
|
assert(sig)
|
|
|
|
assert(typeof sig === "string")
|
|
|
|
assert(sig.startsWith("0x"))
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2018-10-18 09:19:10 +02:00
|
|
|
describe("#getEventData()", () => {
|
|
|
|
|
|
|
|
it("should fail on unknown event", (done) => {
|
|
|
|
|
|
|
|
wrappedContract.getEventData("crazyevent", {})
|
|
|
|
.catch(() => {
|
|
|
|
|
|
|
|
done()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|