Files
xahau.js/packages/xrpl/test/integration/requests/ledgerData.test.ts
2023-02-03 17:03:07 -06:00

68 lines
1.7 KiB
TypeScript

import { assert } from 'chai'
import { LedgerDataRequest } from '../../../src'
import type { BinaryLedgerEntry } from '../../../src/models/methods/ledgerData'
import serverUrl from '../serverUrl'
import {
setupClient,
teardownClient,
type XrplIntegrationTestContext,
} from '../setup'
// how long before each test case times out
const TIMEOUT = 20000
describe('ledger_data', function () {
let testContext: XrplIntegrationTestContext
beforeEach(async () => {
testContext = await setupClient(serverUrl)
})
afterEach(async () => teardownClient(testContext))
it(
'base',
async () => {
const ledgerDataRequest: LedgerDataRequest = {
command: 'ledger_data',
ledger_index: 'validated',
limit: 5,
binary: true,
}
const ledgerDataResponse = await testContext.client.request(
ledgerDataRequest,
)
const expected = {
id: 0,
result: {
ledger_hash: 'string',
ledger_index: 0,
marker: 'string',
state: [
{
data: 'string',
index: 'string',
},
],
},
type: 'response',
}
assert.equal(ledgerDataResponse.type, expected.type)
assert.typeOf(ledgerDataResponse.result.ledger_hash, 'string')
assert.typeOf(ledgerDataResponse.result.ledger_index, 'number')
assert.typeOf(ledgerDataResponse.result.marker, 'string')
assert.equal(ledgerDataResponse.result.state.length, 5)
ledgerDataResponse.result.state.forEach((item) => {
assert.typeOf((item as BinaryLedgerEntry).data, 'string')
assert.typeOf(item.index, 'string')
})
},
TIMEOUT,
)
})