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

52 lines
1.3 KiB
TypeScript

import { assert } from 'chai'
import { RippledError } from '../src'
import {
setupClient,
teardownClient,
type XrplTestContext,
} from './setupClient'
import { assertRejects } from './testUtils'
describe('mock rippled 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: 'server_info' }),
RippledError,
)
})
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: '' }),
RippledError,
)
})
})