Files
xahau.js/packages/xahau/test/mockRippledTest.test.ts
2025-03-14 15:40:35 +01:00

59 lines
1.5 KiB
TypeScript

import { assert } from 'chai'
import { XahaudError } from '../src'
import xahaudFixtures from './fixtures/xahaud'
import {
setupClient,
teardownClient,
type XrplTestContext,
} from './setupClient'
import { assertRejects } from './testUtils'
describe('mock xahaud tests', function () {
let testContext: XrplTestContext
beforeEach(async () => {
testContext = await setupClient()
})
afterEach(async () => teardownClient(testContext))
it('errors if a mock is not provided', async function () {
if (testContext.mockRippled) {
testContext.mockRippled.suppressOutput = true
}
await assertRejects(
testContext.client.request({
command: 'account_info',
account: xahaudFixtures.account_info.normal.result.account_data.Account,
}),
XahaudError,
)
})
it('provide bad response shape', async function () {
try {
testContext.mockRippled!.addResponse('account_info', { data: {} })
assert.fail('Should have errored')
} catch (err) {
if (!(err instanceof Error)) {
assert.fail(`Wrong error type: ${err as string}`)
}
}
})
it('provide bad response shape in function', async function () {
testContext.mockRippled!.suppressOutput = true
testContext.mockRippled!.addResponse('account_info', (request) => {
return { data: request }
})
await assertRejects(
testContext.client.request({
command: 'account_info',
account: xahaudFixtures.account_info.normal.result.account_data.Account,
}),
XahaudError,
)
})
})