Files
dodo-contractV2/test/DVM/owner.test.ts
2020-12-21 23:17:11 +08:00

73 lines
2.6 KiB
TypeScript

/*
Copyright 2020 DODO ZOO.
SPDX-License-Identifier: Apache-2.0
*/
// import * as assert from 'assert';
import { DVMContext, getDVMContext } from '../utils/DVMContext';
import { assert } from 'chai';
import { decimalStr } from '../utils/Converter';
const truffleAssert = require('truffle-assertions');
async function init(ctx: DVMContext): Promise<void> { }
describe("Admin Set", () => {
let snapshotId: string;
let ctx: DVMContext;
before(async () => {
ctx = await getDVMContext();
await init(ctx);
});
beforeEach(async () => {
snapshotId = await ctx.EVM.snapshot();
});
afterEach(async () => {
await ctx.EVM.reset(snapshotId);
});
describe("setting", () => {
it("set addresses", async () => {
var tempAddress = ctx.SpareAccounts[0]
await ctx.DVM.methods.setLpFeeRateModel(tempAddress).send(ctx.sendParam(ctx.Deployer))
await ctx.DVM.methods.setMtFeeRateModel(tempAddress).send(ctx.sendParam(ctx.Deployer))
await ctx.DVM.methods.setTradePermissionManager(tempAddress).send(ctx.sendParam(ctx.Deployer))
await ctx.DVM.methods.setMaintainer(tempAddress).send(ctx.sendParam(ctx.Deployer))
await ctx.DVM.methods.setGasPriceSource(tempAddress).send(ctx.sendParam(ctx.Deployer))
assert.equal(await ctx.DVM.methods._LP_FEE_RATE_MODEL_().call(), tempAddress)
assert.equal(await ctx.DVM.methods._MT_FEE_RATE_MODEL_().call(), tempAddress)
assert.equal(await ctx.DVM.methods._TRADE_PERMISSION_().call(), tempAddress)
assert.equal(await ctx.DVM.methods._MAINTAINER_().call(), tempAddress)
assert.equal(await ctx.DVM.methods._GAS_PRICE_LIMIT_().call(), tempAddress)
});
it("set buy sell", async () => {
await ctx.DVM.methods.setBuy(false).send(ctx.sendParam(ctx.Deployer))
await ctx.DVM.methods.setSell(false).send(ctx.sendParam(ctx.Deployer))
await truffleAssert.reverts(ctx.DVM.methods.sellQuote(ctx.Deployer).send(ctx.sendParam(ctx.Deployer)), "TRADER_BUY_NOT_ALLOWED")
await truffleAssert.reverts(ctx.DVM.methods.sellBase(ctx.Deployer).send(ctx.sendParam(ctx.Deployer)), "TRADER_SELL_NOT_ALLOWED")
})
it("sync", async () => {
await ctx.BASE.methods.mint(ctx.DVM.options.address, decimalStr("123")).send(ctx.sendParam(ctx.Deployer))
await ctx.QUOTE.methods.mint(ctx.DVM.options.address, decimalStr("456")).send(ctx.sendParam(ctx.Deployer))
await ctx.DVM.methods.sync().send(ctx.sendParam(ctx.Deployer))
assert.equal(await ctx.DVM.methods._BASE_RESERVE_().call(), decimalStr("123"))
assert.equal(await ctx.DVM.methods._QUOTE_RESERVE_().call(), decimalStr("456"))
})
});
});