mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-14 01:25:48 +00:00
* add error response object * export error response properly * type mockRippled * fix linter * fix ts * fix comments
91 lines
2.2 KiB
TypeScript
91 lines
2.2 KiB
TypeScript
import { assert } from 'chai'
|
|
|
|
import { ValidationError } from 'xrpl-local/common/errors'
|
|
|
|
import { verify } from '../../src/models/transactions'
|
|
import { verifyTrustSet } from '../../src/models/transactions/trustSet'
|
|
|
|
/**
|
|
* TrustSet Transaction Verification Testing.
|
|
*
|
|
* Providing runtime verification testing for each specific transaction type.
|
|
*/
|
|
describe('TrustSet', function () {
|
|
let trustSet
|
|
|
|
beforeEach(function () {
|
|
trustSet = {
|
|
TransactionType: 'TrustSet',
|
|
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
|
|
LimitAmount: {
|
|
currency: 'XRP',
|
|
issuer: 'rcXY84C4g14iFp6taFXjjQGVeHqSCh9RX',
|
|
value: '4329.23',
|
|
},
|
|
QualityIn: 1234,
|
|
QualityOut: 4321,
|
|
} as any
|
|
})
|
|
|
|
it('verifies valid TrustSet', function () {
|
|
assert.doesNotThrow(() => verifyTrustSet(trustSet))
|
|
assert.doesNotThrow(() => verify(trustSet))
|
|
})
|
|
|
|
it('throws when LimitAmount is missing', function () {
|
|
delete trustSet.LimitAmount
|
|
assert.throws(
|
|
() => verifyTrustSet(trustSet),
|
|
ValidationError,
|
|
'TrustSet: missing field LimitAmount',
|
|
)
|
|
assert.throws(
|
|
() => verify(trustSet),
|
|
ValidationError,
|
|
'TrustSet: missing field LimitAmount',
|
|
)
|
|
})
|
|
|
|
it('throws when LimitAmount is invalid', function () {
|
|
trustSet.LimitAmount = 1234
|
|
assert.throws(
|
|
() => verifyTrustSet(trustSet),
|
|
ValidationError,
|
|
'TrustSet: invalid LimitAmount',
|
|
)
|
|
assert.throws(
|
|
() => verify(trustSet),
|
|
ValidationError,
|
|
'TrustSet: invalid LimitAmount',
|
|
)
|
|
})
|
|
|
|
it('throws when QualityIn is not a number', function () {
|
|
trustSet.QualityIn = '1234'
|
|
assert.throws(
|
|
() => verifyTrustSet(trustSet),
|
|
ValidationError,
|
|
'TrustSet: QualityIn must be a number',
|
|
)
|
|
assert.throws(
|
|
() => verify(trustSet),
|
|
ValidationError,
|
|
'TrustSet: QualityIn must be a number',
|
|
)
|
|
})
|
|
|
|
it('throws when QualityOut is not a number', function () {
|
|
trustSet.QualityOut = '4321'
|
|
assert.throws(
|
|
() => verifyTrustSet(trustSet),
|
|
ValidationError,
|
|
'TrustSet: QualityOut must be a number',
|
|
)
|
|
assert.throws(
|
|
() => verify(trustSet),
|
|
ValidationError,
|
|
'TrustSet: QualityOut must be a number',
|
|
)
|
|
})
|
|
})
|