mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 04:05:52 +00:00
* move echo * move fee * move subscribe/unsubscribe * move ledger_current * move ledger_data * move submit/submit_multisigned * remove account_tx/account_offers/gateway_balances * move account_info * remove ledger_entry * remove tx * remove account_lines * remove ripple_path_find * remove ledger * remove book_offers * move ping * remove global_config * move test_command * additional mock-rippled cleanup * add explanatory comment to mock.addResponse
100 lines
3.9 KiB
TypeScript
100 lines
3.9 KiB
TypeScript
import {TestSuite, assertRejects, assertResultMatch} from '../testUtils'
|
|
import requests from '../fixtures/requests'
|
|
import responses from '../fixtures/responses'
|
|
import rippled from '../fixtures/rippled'
|
|
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>{
|
|
'prepareEscrowExecution': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
mockRippled.addResponse({command: 'fee'}, rippled.fee)
|
|
mockRippled.addResponse({command: 'ledger_current'}, rippled.ledger_current)
|
|
mockRippled.addResponse({command: 'account_info'}, rippled.account_info.normal)
|
|
const result = await client.prepareEscrowExecution(
|
|
address,
|
|
requests.prepareEscrowExecution.normal,
|
|
instructionsWithMaxLedgerVersionOffset
|
|
)
|
|
assertResultMatch(
|
|
result,
|
|
responses.prepareEscrowExecution.normal,
|
|
'prepare'
|
|
)
|
|
},
|
|
|
|
'prepareEscrowExecution - simple': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
mockRippled.addResponse({command: 'fee'}, rippled.fee)
|
|
mockRippled.addResponse({command: 'ledger_current'}, rippled.ledger_current)
|
|
mockRippled.addResponse({command: 'account_info'}, rippled.account_info.normal)
|
|
const result = await client.prepareEscrowExecution(
|
|
address,
|
|
requests.prepareEscrowExecution.simple
|
|
)
|
|
assertResultMatch(
|
|
result,
|
|
responses.prepareEscrowExecution.simple,
|
|
'prepare'
|
|
)
|
|
},
|
|
|
|
'prepareEscrowExecution - no condition': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
mockRippled.addResponse({command: 'fee'}, rippled.fee)
|
|
mockRippled.addResponse({command: 'ledger_current'}, rippled.ledger_current)
|
|
mockRippled.addResponse({command: 'account_info'}, rippled.account_info.normal)
|
|
await assertRejects(
|
|
client.prepareEscrowExecution(
|
|
address,
|
|
requests.prepareEscrowExecution.noCondition,
|
|
instructionsWithMaxLedgerVersionOffset
|
|
),
|
|
client.errors.ValidationError,
|
|
'"condition" and "fulfillment" fields on EscrowFinish must only be specified together.'
|
|
)
|
|
},
|
|
|
|
'prepareEscrowExecution - no fulfillment': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
mockRippled.addResponse({command: 'fee'}, rippled.fee)
|
|
mockRippled.addResponse({command: 'ledger_current'}, rippled.ledger_current)
|
|
mockRippled.addResponse({command: 'account_info'}, rippled.account_info.normal)
|
|
await assertRejects(
|
|
client.prepareEscrowExecution(
|
|
address,
|
|
requests.prepareEscrowExecution.noFulfillment,
|
|
instructionsWithMaxLedgerVersionOffset
|
|
),
|
|
client.errors.ValidationError,
|
|
'"condition" and "fulfillment" fields on EscrowFinish must only be specified together.'
|
|
)
|
|
},
|
|
|
|
'with ticket': async (client, address, mockRippled) => {
|
|
mockRippled.addResponse({command: 'server_info'}, rippled.server_info.normal)
|
|
mockRippled.addResponse({command: 'fee'}, rippled.fee)
|
|
mockRippled.addResponse({command: 'ledger_current'}, rippled.ledger_current)
|
|
mockRippled.addResponse({command: 'account_info'}, rippled.account_info.normal)
|
|
const localInstructions = {
|
|
...instructionsWithMaxLedgerVersionOffset,
|
|
maxFee: '0.000396',
|
|
ticketSequence: 23
|
|
}
|
|
const result = await client.prepareEscrowExecution(
|
|
address,
|
|
requests.prepareEscrowExecution.normal,
|
|
localInstructions
|
|
)
|
|
assertResultMatch(
|
|
result,
|
|
responses.prepareEscrowExecution.ticket,
|
|
'prepare'
|
|
)
|
|
}
|
|
}
|