From 73b7a42e79021d56d9c4653c4f1391b976a5580b Mon Sep 17 00:00:00 2001 From: arsenyjin Date: Thu, 11 Jun 2020 13:17:56 +0200 Subject: [PATCH] add more tests --- src/datatokens/Datatokens.ts | 10 ++++----- test/unit/Datatokens.test.ts | 39 +++++++++++++++++++++++++++--------- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/src/datatokens/Datatokens.ts b/src/datatokens/Datatokens.ts index 6cb854f8..3024db66 100644 --- a/src/datatokens/Datatokens.ts +++ b/src/datatokens/Datatokens.ts @@ -88,7 +88,7 @@ export class DataTokens { const datatoken = new this.web3.eth.Contract( this.datatokensABI, dataTokenAddress, - { from: account.getId() } + { from: account } ) const trxReceipt = await datatoken.methods.approve(spender, amount).send() return trxReceipt @@ -147,7 +147,7 @@ export class DataTokens { const datatoken = new this.web3.eth.Contract( this.datatokensABI, dataTokenAddress, - { from: account.getId() } + { from: account } ) const trxReceipt = await datatoken.methods.transfer(toAddress, amount).send() return trxReceipt @@ -170,10 +170,10 @@ export class DataTokens { const datatoken = new this.web3.eth.Contract( this.datatokensABI, dataTokenAddress, - { from: account.getId() } + { from: account } ) const trxReceipt = await datatoken.methods - .transferFrom(fromAddress, account.getId(), amount) + .transferFrom(fromAddress, account, amount) .send() return trxReceipt } @@ -253,4 +253,4 @@ export class DataTokens { const trxReceipt = await datatoken.methods.cap().call() return trxReceipt } -} +} \ No newline at end of file diff --git a/test/unit/Datatokens.test.ts b/test/unit/Datatokens.test.ts index 0a193431..e362cfa9 100644 --- a/test/unit/Datatokens.test.ts +++ b/test/unit/Datatokens.test.ts @@ -11,6 +11,8 @@ const datatokensABI = require('../../src/datatokens/DatatokensABI.json') describe('DataTokens', () => { let minter + let spender + let balance let contracts let datatoken let tokenAddress @@ -18,15 +20,15 @@ describe('DataTokens', () => { let tokenAmount = 100 let blob = 'https://example.com/dataset-1' - beforeEach(async () => { - contracts = new TestContractHandler(factoryABI,datatokensABI) - await contracts.getAccounts() - - minter = contracts.accounts[0] - await contracts.deployContracts(minter) - }) - describe('#test', () => { + it('should deploy contracts', async () => { + contracts = new TestContractHandler(factoryABI,datatokensABI) + await contracts.getAccounts() + minter = contracts.accounts[0] + spender = contracts.accounts[1] + await contracts.deployContracts(minter) + }) + it('should create Datatoken object', async () => { datatoken = new DataTokens(contracts.factoryAddress, factoryABI, datatokensABI, web3) assert(datatoken !== null) @@ -38,10 +40,27 @@ describe('DataTokens', () => { }) it('should mint Datatokens', async () => { - const tokenAddress = await datatoken.create(blob, minter) await datatoken.mint(tokenAddress, minter, tokenAmount) - let balance = await datatoken.balance(tokenAddress, minter) + balance = await datatoken.balance(tokenAddress, minter) assert(balance.toString() === tokenAmount.toString()) }) + + it('should transfer Datatokens to spender', async () => { + await datatoken.transfer(tokenAddress, spender, tokenAmount, minter) + balance = await datatoken.balance(tokenAddress, spender) + assert(balance.toString() === tokenAmount.toString()) + + }) + + it('should approve Datatokens to spend', async () => { + await datatoken.approve(tokenAddress, minter, tokenAmount, spender) + }) + + it('should transferFrom Datatokens back to the minter', async () => { + await datatoken.transferFrom(tokenAddress, spender, tokenAmount, minter) + minter = await datatoken.balance(tokenAddress, spender) + assert(balance.toString() === tokenAmount.toString()) + }) + }) }) \ No newline at end of file