import { assert } from 'chai' import { ValidationError } from 'xrpl-local/common/errors' import { verifySignerListSet } from '../../src/models/transactions/signerListSet' /** * SignerListSet Transaction Verification Testing. * * Providing runtime verification testing for each specific transaction type. */ describe('SignerListSet', function () { let SignerListSetTx beforeEach(function () { SignerListSetTx = { Flags: 0, TransactionType: 'SignerListSet', Account: 'rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn', Fee: '12', SignerQuorum: 3, SignerEntries: [ { SignerEntry: { Account: 'rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW', SignerWeight: 2, }, }, { SignerEntry: { Account: 'rUpy3eEg8rqjqfUoLeBnZkscbKbFsKXC3v', SignerWeight: 1, }, }, { SignerEntry: { Account: 'raKEEVSGnKSD9Zyvxu4z6Pqpm4ABH8FS6n', SignerWeight: 1, }, }, ], } as any }) it(`verifies valid SignerListSet`, function () { assert.doesNotThrow(() => verifySignerListSet(SignerListSetTx)) }) it(`throws w/ missing SignerQuorum`, function () { SignerListSetTx.SignerQuorum = undefined assert.throws( () => verifySignerListSet(SignerListSetTx), ValidationError, 'SignerListSet: missing field SignerQuorum', ) }) it(`throws w/ empty SignerEntries`, function () { SignerListSetTx.SignerEntries = [] assert.throws( () => verifySignerListSet(SignerListSetTx), ValidationError, 'SignerListSet: need atleast 1 member in SignerEntries', ) }) it(`throws w/ invalid SignerEntries`, function () { SignerListSetTx.SignerEntries = 'khgfgyhujk' assert.throws( () => verifySignerListSet(SignerListSetTx), ValidationError, 'SignerListSet: invalid SignerEntries', ) }) })