mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
test unit test updates
This commit is contained in:
parent
2b3448de6b
commit
86a996184f
@ -27,6 +27,7 @@
|
|||||||
"test:ss": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/ssContracts/SideStaking.test.ts'",
|
"test:ss": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/ssContracts/SideStaking.test.ts'",
|
||||||
"test:fixed": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/fixedRate/FixedRateExchange.test.ts'",
|
"test:fixed": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/fixedRate/FixedRateExchange.test.ts'",
|
||||||
"test:pool": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/balancer/Pool.test.ts'",
|
"test:pool": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/balancer/Pool.test.ts'",
|
||||||
|
"test:dispenser": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/dispenser/Dispenser.test.ts'",
|
||||||
"test:dt": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/Datatoken.test.ts'",
|
"test:dt": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/Datatoken.test.ts'",
|
||||||
"test:nftDt": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/NFTDatatoken.test.ts'",
|
"test:nftDt": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/NFTDatatoken.test.ts'",
|
||||||
"test:router": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/Router.test.ts'",
|
"test:router": "mocha --config=test/unit/.mocharc.json --node-env=test --exit 'test/unit/pools/Router.test.ts'",
|
||||||
|
@ -3,14 +3,19 @@ import { AbiItem, AbiInput } from 'web3-utils'
|
|||||||
import { assert, expect } from 'chai'
|
import { assert, expect } from 'chai'
|
||||||
import ERC721Factory from '@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json'
|
import ERC721Factory from '@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json'
|
||||||
import ERC721Template from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json'
|
import ERC721Template from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json'
|
||||||
import ERC20Template from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json'
|
import SideStaking from '@oceanprotocol/contracts/artifacts/contracts/pools/ssContracts/SideStaking.sol/SideStaking.json'
|
||||||
import FactoryRouter from '@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json'
|
import FactoryRouter from '@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json'
|
||||||
|
import ERC20Template from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json'
|
||||||
import DispenserTemplate from '@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json'
|
import DispenserTemplate from '@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json'
|
||||||
import { LoggerInstance } from '.../../../src/utils'
|
import FixedRate from '@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json'
|
||||||
import { Dispenser } from '.../../../src/pools/dispenser/'
|
import MockERC20 from '@oceanprotocol/contracts/artifacts/contracts/utils/mock/MockERC20Decimals.sol/MockERC20Decimals.json'
|
||||||
import { NFTFactory } from '.../../../src/factories/'
|
import PoolTemplate from '@oceanprotocol/contracts/artifacts/contracts/pools/balancer/BPool.sol/BPool.json'
|
||||||
import { Datatoken } from '.../../../src/datatokens/'
|
import OPFCollector from '@oceanprotocol/contracts/artifacts/contracts/communityFee/OPFCommunityFeeCollector.sol/OPFCommunityFeeCollector.json'
|
||||||
import { TestContractHandler } from '../../TestContractHandler'
|
import { NFTFactory, NFTCreateData } from '../../../../src/factories/'
|
||||||
|
import { Datatoken } from '../../../../src/datatokens/'
|
||||||
|
import { Dispenser } from '../../../../src/pools/dispenser/'
|
||||||
|
import { TestContractHandler } from '../../../TestContractHandler'
|
||||||
|
import { Erc20CreateParams } from '../../../../src/interfaces'
|
||||||
|
|
||||||
const web3 = new Web3('http://127.0.0.1:8545')
|
const web3 = new Web3('http://127.0.0.1:8545')
|
||||||
|
|
||||||
@ -31,22 +36,25 @@ describe('Dispenser flow', () => {
|
|||||||
it('should deploy contracts', async () => {
|
it('should deploy contracts', async () => {
|
||||||
contracts = new TestContractHandler(
|
contracts = new TestContractHandler(
|
||||||
web3,
|
web3,
|
||||||
ERC721Template.abi as AbiItem,
|
ERC721Template.abi as AbiItem[],
|
||||||
ERC20Template.abi as AbiItem,
|
ERC20Template.abi as AbiItem[],
|
||||||
null,
|
PoolTemplate.abi as AbiItem[],
|
||||||
ERC721Factory.abi as AbiItem,
|
ERC721Factory.abi as AbiItem[],
|
||||||
null,
|
FactoryRouter.abi as AbiItem[],
|
||||||
null,
|
SideStaking.abi as AbiItem[],
|
||||||
null,
|
FixedRate.abi as AbiItem[],
|
||||||
DispenserTemplate.abi as AbiItem,
|
DispenserTemplate.abi as AbiItem[],
|
||||||
|
OPFCollector.abi as AbiItem[],
|
||||||
|
|
||||||
ERC721Template.bytecode,
|
ERC721Template.bytecode,
|
||||||
ERC20Template.bytecode,
|
ERC20Template.bytecode,
|
||||||
null,
|
PoolTemplate.bytecode,
|
||||||
ERC721Factory.bytecode,
|
ERC721Factory.bytecode,
|
||||||
FactoryRouter.bytecode,
|
FactoryRouter.bytecode,
|
||||||
null,
|
SideStaking.bytecode,
|
||||||
null,
|
FixedRate.bytecode,
|
||||||
DispenserTemplate.bytecode
|
DispenserTemplate.bytecode,
|
||||||
|
OPFCollector.bytecode
|
||||||
)
|
)
|
||||||
await contracts.getAccounts()
|
await contracts.getAccounts()
|
||||||
factoryOwner = contracts.accounts[0]
|
factoryOwner = contracts.accounts[0]
|
||||||
@ -61,38 +69,38 @@ describe('Dispenser flow', () => {
|
|||||||
it('should initialize Dispenser class', async () => {
|
it('should initialize Dispenser class', async () => {
|
||||||
DispenserClass = new Dispenser(
|
DispenserClass = new Dispenser(
|
||||||
web3,
|
web3,
|
||||||
DispenserAddress,
|
contracts.dispenserAddress,
|
||||||
DispenserTemplate.abi as AbiItem[]
|
DispenserTemplate.abi as AbiItem[]
|
||||||
)
|
)
|
||||||
assert(DispenserClass !== null)
|
assert(DispenserClass !== null)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('#createNftwithErc - should create an NFT and a Datatoken ', async () => {
|
it('#createNftwithErc - should create an NFT and a Datatoken ', async () => {
|
||||||
nftFactory = new NFTFactory(contracts.factory721Address, web3, LoggerInstance)
|
nftFactory = new NFTFactory(contracts.factory721Address, web3)
|
||||||
|
|
||||||
const nftData = {
|
const nftData: NFTCreateData = {
|
||||||
name: '72120Bundle',
|
name: '72120Bundle',
|
||||||
symbol: '72Bundle',
|
symbol: '72Bundle',
|
||||||
templateIndex: 1,
|
templateIndex: 1,
|
||||||
baseURI: 'https://oceanprotocol.com/nft/'
|
baseURI: 'https://oceanprotocol.com/nft/'
|
||||||
}
|
}
|
||||||
const ercData = {
|
|
||||||
|
const ercParams: Erc20CreateParams = {
|
||||||
templateIndex: 1,
|
templateIndex: 1,
|
||||||
strings: ['ERC20B1', 'ERC20DT1Symbol'],
|
minter: contracts.accounts[0],
|
||||||
addresses: [
|
feeManager: user3,
|
||||||
contracts.accounts[0],
|
mpFeeAddress: user2,
|
||||||
user3,
|
feeToken: '0x0000000000000000000000000000000000000000',
|
||||||
user2,
|
cap: '10000',
|
||||||
'0x0000000000000000000000000000000000000000'
|
feeAmount: '0',
|
||||||
],
|
name: 'ERC20B1',
|
||||||
uints: [web3.utils.toWei('10000'), 0],
|
symbol: 'ERC20DT1Symbol'
|
||||||
bytess: []
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const txReceipt = await nftFactory.createNftWithErc(
|
const txReceipt = await nftFactory.createNftWithErc(
|
||||||
contracts.accounts[0],
|
contracts.accounts[0],
|
||||||
nftData,
|
nftData,
|
||||||
ercData
|
ercParams
|
||||||
)
|
)
|
||||||
|
|
||||||
expect(txReceipt.events.NFTCreated.event === 'NFTCreated')
|
expect(txReceipt.events.NFTCreated.event === 'NFTCreated')
|
||||||
@ -103,13 +111,24 @@ describe('Dispenser flow', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('Make user2 minter', async () => {
|
it('Make user2 minter', async () => {
|
||||||
datatoken = new Datatoken(web3, ERC20Template.abi as AbiItem)
|
datatoken = new Datatoken(web3, ERC20Template.abi as AbiItem[])
|
||||||
await datatoken.addMinter(dtAddress, nftOwner, user2)
|
await datatoken.addMinter(dtAddress, contracts.accounts[0], user2)
|
||||||
assert((await datatoken.getDTPermissions(dtAddress, user2)).minter === true)
|
assert((await datatoken.getDTPermissions(dtAddress, user2)).minter === true)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('user2 creates a dispenser', async () => {
|
it('Create dispenser', async () => {
|
||||||
const tx = await DispenserClass.activate(dtAddress, '1', '1', user2)
|
const tx = await DispenserClass.create(
|
||||||
|
dtAddress,
|
||||||
|
contracts.accounts[0],
|
||||||
|
'1',
|
||||||
|
'1',
|
||||||
|
'0x0000000000000000000000000000000000000000'
|
||||||
|
)
|
||||||
|
assert(tx, 'Cannot create dispenser')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Activate dispenser', async () => {
|
||||||
|
const tx = await DispenserClass.activate(dtAddress, '1', '1', contracts.accounts[0])
|
||||||
assert(tx, 'Cannot activate dispenser')
|
assert(tx, 'Cannot activate dispenser')
|
||||||
})
|
})
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user