Files
xahau.js/packages/xrpl/test/models/accountSet.test.ts
Jackson Mills 3d0bec7e89 Add support for disallowIncoming flags (#2221)
* Add support for disallowIncoming flags

* Fix broken tests

* Update packages/xrpl/src/models/ledger/AccountRoot.ts

* Update packages/xrpl/src/models/ledger/AccountRoot.ts

* Update HISTORY.md
2023-02-21 10:22:47 -08:00

152 lines
3.5 KiB
TypeScript

import { assert } from 'chai'
import { validate, ValidationError } from '../../src'
import { validateAccountSet } from '../../src/models/transactions/accountSet'
/**
* AccountSet Transaction Verification Testing.
*
* Providing runtime verification testing for each specific transaction type.
*/
describe('AccountSet', function () {
let account
beforeEach(function () {
account = {
TransactionType: 'AccountSet',
Account: 'rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn',
Fee: '12',
Sequence: 5,
Domain: '6578616D706C652E636F6D',
SetFlag: 5,
MessageKey:
'03AB40A0490F9B7ED8DF29D246BF2D6269820A0EE7742ACDD457BEA7C7D0931EDB',
} as any
})
it(`verifies valid AccountSet`, function () {
assert.doesNotThrow(() => validateAccountSet(account))
assert.doesNotThrow(() => validate(account))
})
it(`throws w/ invalid SetFlag (out of range)`, function () {
account.SetFlag = 20
assert.throws(
() => validateAccountSet(account),
ValidationError,
'AccountSet: invalid SetFlag',
)
assert.throws(
() => validate(account),
ValidationError,
'AccountSet: invalid SetFlag',
)
})
it(`throws w/ invalid SetFlag (incorrect type)`, function () {
account.SetFlag = 'abc'
assert.throws(
() => validateAccountSet(account),
ValidationError,
'AccountSet: invalid SetFlag',
)
assert.throws(
() => validate(account),
ValidationError,
'AccountSet: invalid SetFlag',
)
})
it(`throws w/ invalid ClearFlag`, function () {
account.ClearFlag = 20
assert.throws(
() => validateAccountSet(account),
ValidationError,
'AccountSet: invalid ClearFlag',
)
assert.throws(
() => validate(account),
ValidationError,
'AccountSet: invalid ClearFlag',
)
})
it(`throws w/ invalid Domain`, function () {
account.Domain = 6578616
assert.throws(
() => validateAccountSet(account),
ValidationError,
'AccountSet: invalid Domain',
)
assert.throws(
() => validate(account),
ValidationError,
'AccountSet: invalid Domain',
)
})
it(`throws w/ invalid EmailHash`, function () {
account.EmailHash = 6578656789876543
assert.throws(
() => validateAccountSet(account),
ValidationError,
'AccountSet: invalid EmailHash',
)
assert.throws(
() => validate(account),
ValidationError,
'AccountSet: invalid EmailHash',
)
})
it(`throws w/ invalid MessageKey`, function () {
account.MessageKey = 6578656789876543
assert.throws(
() => validateAccountSet(account),
ValidationError,
'AccountSet: invalid MessageKey',
)
assert.throws(
() => validate(account),
ValidationError,
'AccountSet: invalid MessageKey',
)
})
it(`throws w/ invalid TransferRate`, function () {
account.TransferRate = '1000000001'
assert.throws(
() => validateAccountSet(account),
ValidationError,
'AccountSet: invalid TransferRate',
)
assert.throws(
() => validate(account),
ValidationError,
'AccountSet: invalid TransferRate',
)
})
it(`throws w/ invalid TickSize`, function () {
account.TickSize = 20
assert.throws(
() => validateAccountSet(account),
ValidationError,
'AccountSet: invalid TickSize',
)
assert.throws(
() => validate(account),
ValidationError,
'AccountSet: invalid TickSize',
)
})
})