From 0a8247befc491f621942d0346a51d230ba087045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=96=B0=E5=88=9A?= <719802264@qq.com> Date: Tue, 2 Feb 2021 17:39:59 +0800 Subject: [PATCH] transfer close test --- test/vDODO/erc20.test.ts | 72 +++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/test/vDODO/erc20.test.ts b/test/vDODO/erc20.test.ts index 783dd87..39a540d 100644 --- a/test/vDODO/erc20.test.ts +++ b/test/vDODO/erc20.test.ts @@ -10,13 +10,16 @@ import { logGas } from '../utils/Log'; import { VDODOContext, getVDODOContext } from '../utils/VDODOContext'; import { assert } from 'chai'; import BigNumber from 'bignumber.js'; +const truffleAssert = require('truffle-assertions'); let account0: string; let account1: string; +let defaultSuperAddress: string; async function init(ctx: VDODOContext): Promise { account0 = ctx.SpareAccounts[0]; account1 = ctx.SpareAccounts[1]; + defaultSuperAddress = ctx.Maintainer await ctx.mintTestToken(account0, decimalStr("1000")); await ctx.mintTestToken(account1, decimalStr("1000")); @@ -62,44 +65,39 @@ describe("vDODO-erc20", () => { }); it("transfer - close", async () => { + + await ctx.VDODO.methods.mint(decimalStr("10"),defaultSuperAddress).send(ctx.sendParam(account0)) + assert.equal( + await ctx.DODO.methods.balanceOf(account0).call(), + decimalStr("990") + ); + assert.equal( + await ctx.DODO.methods.balanceOf(ctx.VDODO.options.address).call(), + decimalStr("100010") + ); + assert.equal( + await ctx.VDODO.methods.balanceOf(account0).call(), + decimalStr("0.1") + ); + + assert.equal( + await ctx.VDODO.methods.balanceOf(account1).call(), + decimalStr("0") + ); //预期revert + await truffleAssert.reverts( + ctx.VDODO.methods.transfer(account1,decimalStr("0.1")).send(ctx.sendParam(account0)), + "vDODOToken: not allowed transfer" + ) + assert.equal( + await ctx.VDODO.methods.balanceOf(account0).call(), + decimalStr("0.1") + ); + assert.equal( + await ctx.VDODO.methods.balanceOf(account1).call(), + decimalStr("0") + ); + }); - - - // it("vdodo owner can transfer", async () => { - - // await ctx.VDODO.methods.mint(decimalStr("10"),"0x0000000000000000000000000000000000000000").send(ctx.sendParam(account0)) - // assert.equal( - // await ctx.DODO.methods.balanceOf(account0).call(), - // decimalStr("990") - // ); - // assert.equal( - // await ctx.DODO.methods.balanceOf(ctx.VDODO.options.address).call(), - // decimalStr("10") - // ); - // assert.equal( - // await ctx.VDODO.methods.balanceOf(account0).call(), - // decimalStr("0.1") - // ); - // assert.equal( - // await ctx.VDODO.methods.balanceOf(account1).call(), - // decimalStr("0") - // ); - - - // await truffleAssert.reverts( - // ctx.VDODO.methods.transfer(account1,decimalStr("0.1")).send(ctx.sendParam(account0)), - // "vDODOToken: not allowed transfer" - // ) - // assert.equal( - // await ctx.VDODO.methods.balanceOf(account0).call(), - // decimalStr("0.1") - // ); - // assert.equal( - // await ctx.VDODO.methods.balanceOf(account1).call(), - // decimalStr("0") - // ); - - // }); }) });