mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 12:15:51 +00:00
* Removed deprecated functions from client.ts * Renamed files to be camelCase * Created top-level utils folder and tied all sub-references to it * Grouped tests for those utils into their own section Co-authored-by: Nathan Nichols <natenichols@cox.net>
85 lines
2.8 KiB
TypeScript
85 lines
2.8 KiB
TypeScript
import requests from '../../fixtures/requests'
|
|
import responses from '../../fixtures/responses'
|
|
import rippled from '../../fixtures/rippled'
|
|
import {assertRejects, assertResultMatch, TestSuite} from '../../testUtils'
|
|
const instructionsWithMaxLedgerVersionOffset = {maxLedgerVersionOffset: 100}
|
|
|
|
/**
|
|
* Every test suite exports their tests in the default object.
|
|
* - Check out the "TestSuite" type for documentation on the interface.
|
|
* - Check out "test/client/index.ts" for more information about the test runner.
|
|
*/
|
|
export default <TestSuite>{
|
|
'prepareOrderCancellation': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
const request = requests.prepareOrderCancellation.simple
|
|
const result = await client.prepareOrderCancellation(
|
|
address,
|
|
request,
|
|
instructionsWithMaxLedgerVersionOffset
|
|
)
|
|
assertResultMatch(
|
|
result,
|
|
responses.prepareOrderCancellation.normal,
|
|
'prepare'
|
|
)
|
|
},
|
|
|
|
'no instructions': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
const request = requests.prepareOrderCancellation.simple
|
|
const result = await client.prepareOrderCancellation(address, request)
|
|
assertResultMatch(
|
|
result,
|
|
responses.prepareOrderCancellation.noInstructions,
|
|
'prepare'
|
|
)
|
|
},
|
|
|
|
'with memos': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
const request = requests.prepareOrderCancellation.withMemos
|
|
const result = await client.prepareOrderCancellation(address, request)
|
|
assertResultMatch(
|
|
result,
|
|
responses.prepareOrderCancellation.withMemos,
|
|
'prepare'
|
|
)
|
|
},
|
|
|
|
'invalid': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
const request = Object.assign(
|
|
{},
|
|
requests.prepareOrderCancellation.withMemos
|
|
)
|
|
delete request.orderSequence // Make invalid
|
|
|
|
await assertRejects(
|
|
client.prepareOrderCancellation(address, request),
|
|
client.errors.ValidationError,
|
|
'instance.orderCancellation requires property "orderSequence"'
|
|
)
|
|
},
|
|
|
|
'with ticket': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
const request = requests.prepareOrderCancellation.simple
|
|
const localInstructions = {
|
|
...instructionsWithMaxLedgerVersionOffset,
|
|
maxFee: '0.000012',
|
|
ticketSequence: 23
|
|
}
|
|
const result = await client.prepareOrderCancellation(
|
|
address,
|
|
request,
|
|
localInstructions
|
|
)
|
|
assertResultMatch(
|
|
result,
|
|
responses.prepareOrderCancellation.ticket,
|
|
'prepare'
|
|
)
|
|
}
|
|
}
|