Files
xahau.js/test/broadcastClient.ts
2021-10-05 15:07:32 -04:00

44 lines
1.2 KiB
TypeScript

import { assert } from 'chai'
import _ from 'lodash'
import { ServerInfoResponse } from '../src'
import responses from './fixtures/responses'
import rippled from './fixtures/rippled'
import { setupBroadcast, teardownClient } from './setupClient'
import { assertResultMatch, ignoreWebSocketDisconnect } from './testUtils'
const TIMEOUT = 20000
describe('BroadcastClient', function () {
this.timeout(TIMEOUT)
beforeEach(setupBroadcast)
afterEach(teardownClient)
it('base', async function () {
this.mockRippled.addResponse('server_info', rippled.server_info.normal)
assert(this.client.isConnected())
this.client
.request({ command: 'server_info' })
.then((response: ServerInfoResponse) => {
assertResultMatch(responses.getServerInfo, response.result.info)
})
})
it('error propagation', function (done) {
const data = { error: 'type', error_message: 'info' }
this.mockRippled.addResponse('echo', data)
this.client.once('error', (type, info) => {
assert.strictEqual(type, 'type')
assert.strictEqual(info, 'info')
done()
})
this.client.clients[1].connection
.request({
command: 'echo',
data,
})
.catch(ignoreWebSocketDisconnect)
})
})