2019-06-20 00:20:09 +02:00
|
|
|
import { assert } from 'chai'
|
2020-01-30 22:08:18 +01:00
|
|
|
import { LockRewardCondition } from '../../../../src/keeper/contracts/conditions'
|
|
|
|
import { Ocean } from '../../../../src/ocean/Ocean'
|
2019-06-20 00:20:09 +02:00
|
|
|
import config from '../../config'
|
|
|
|
import TestContractHandler from '../TestContractHandler'
|
2019-03-06 15:58:15 +01:00
|
|
|
|
|
|
|
let condition: LockRewardCondition
|
|
|
|
|
2019-06-20 00:20:09 +02:00
|
|
|
describe('LockRewardCondition', () => {
|
|
|
|
const agreementId = `0x${'a'.repeat(64)}`
|
|
|
|
const address = `0x${'a'.repeat(40)}`
|
2019-03-06 15:58:15 +01:00
|
|
|
const amount = 15
|
|
|
|
|
|
|
|
before(async () => {
|
|
|
|
await TestContractHandler.prepareContracts()
|
2019-06-20 00:20:09 +02:00
|
|
|
condition = (await Ocean.getInstance(config)).keeper.conditions
|
|
|
|
.lockRewardCondition
|
2019-03-06 15:58:15 +01:00
|
|
|
})
|
|
|
|
|
2019-06-20 00:20:09 +02:00
|
|
|
describe('#hashValues()', () => {
|
|
|
|
it('should hash the values', async () => {
|
2019-03-06 15:58:15 +01:00
|
|
|
const hash = await condition.hashValues(address, amount)
|
|
|
|
|
|
|
|
assert.match(hash, /^0x[a-f0-9]{64}$/i)
|
2019-06-20 00:20:09 +02:00
|
|
|
assert.equal(
|
|
|
|
hash,
|
|
|
|
'0x2543c2ea4b9403bb3e5df1145c70731454748e72a37acc80d025f85e03267973',
|
|
|
|
'The hash is not the expected.'
|
|
|
|
)
|
2019-03-06 15:58:15 +01:00
|
|
|
})
|
|
|
|
})
|
|
|
|
|
2019-06-20 00:20:09 +02:00
|
|
|
describe('#generateId()', () => {
|
|
|
|
it('should generate an ID', async () => {
|
2019-03-06 15:58:15 +01:00
|
|
|
const hash = await condition.hashValues(address, amount)
|
|
|
|
const id = await condition.generateId(agreementId, hash)
|
|
|
|
|
|
|
|
assert.match(id, /^0x[a-f0-9]{64}$/i)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|