From d1111c97b79888304b22e7724f7e37aeba0874db Mon Sep 17 00:00:00 2001 From: Gerardo Nardelli Date: Fri, 3 Feb 2023 15:53:48 -0300 Subject: [PATCH] Add token controller burnFrom unit tests --- test/unit/TokenController/burnFrom.js | 29 +++++++++++++++++++++++++++ test/unit/TokenController/index.js | 1 + 2 files changed, 30 insertions(+) create mode 100644 test/unit/TokenController/burnFrom.js diff --git a/test/unit/TokenController/burnFrom.js b/test/unit/TokenController/burnFrom.js new file mode 100644 index 0000000000..0ee0817a52 --- /dev/null +++ b/test/unit/TokenController/burnFrom.js @@ -0,0 +1,29 @@ +const { expect } = require('chai'); +const { parseEther } = require('ethers/lib/utils'); + +describe('burnFrom', function () { + it('reverts if caller is not an internal contract', async function () { + const { tokenController } = this.contracts; + const [member1] = this.accounts.members; + + const amount = parseEther('10'); + await expect(tokenController.connect(member1).burnFrom(member1.address, amount)).to.be.revertedWith( + 'Caller is not an internal contract', + ); + }); + + it('burns nxm from member', async function () { + const { tokenController, nxm } = this.contracts; + const [internalContract] = this.accounts.internalContracts; + const [member1] = this.accounts.members; + + const initialBalanceMember1 = await nxm.balanceOf(member1.address); + + const amount = parseEther('10'); + await tokenController.connect(internalContract).burnFrom(member1.address, amount); + + const balanceMember1 = await nxm.balanceOf(member1.address); + + expect(balanceMember1).to.equal(initialBalanceMember1.sub(amount)); + }); +}); diff --git a/test/unit/TokenController/index.js b/test/unit/TokenController/index.js index d7bb7fc48c..93cb06342a 100644 --- a/test/unit/TokenController/index.js +++ b/test/unit/TokenController/index.js @@ -23,4 +23,5 @@ describe('TokenController', function () { require('./changeOperator'); require('./operatorTransfer'); require('./mint'); + require('./burnFrom'); });