mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-19 19:55:51 +00:00
feat: Jest Test Runner (#2170)
This commit is contained in:
@@ -1,91 +1,11 @@
|
||||
import assert from 'assert'
|
||||
|
||||
import _ from 'lodash'
|
||||
import {
|
||||
Client,
|
||||
isValidClassicAddress,
|
||||
isValidXAddress,
|
||||
dropsToXrp,
|
||||
} from 'xrpl-local'
|
||||
|
||||
// how long before each test case times out
|
||||
const TIMEOUT = 60000
|
||||
// This test is reliant on external networks, and as such may be flaky.
|
||||
describe('fundWallet', function () {
|
||||
this.timeout(TIMEOUT)
|
||||
|
||||
it('submit generates a testnet wallet', async function () {
|
||||
await generate_faucet_wallet_and_fund_again(
|
||||
'wss://s.altnet.rippletest.net:51233',
|
||||
)
|
||||
})
|
||||
|
||||
it('submit generates a devnet wallet', async function () {
|
||||
await generate_faucet_wallet_and_fund_again(
|
||||
'wss://s.devnet.rippletest.net:51233',
|
||||
)
|
||||
})
|
||||
|
||||
it('can generate and fund wallets using a custom host and path', async function () {
|
||||
await generate_faucet_wallet_and_fund_again(
|
||||
'wss://s.devnet.rippletest.net:51233/',
|
||||
'faucet.devnet.rippletest.net',
|
||||
'/accounts',
|
||||
)
|
||||
})
|
||||
|
||||
it('can generate and fund wallets on AMM devnet', async function () {
|
||||
await generate_faucet_wallet_and_fund_again(
|
||||
'wss://amm.devnet.rippletest.net:51233',
|
||||
)
|
||||
})
|
||||
|
||||
it('can generate wallet on hooks v2 testnet', async function () {
|
||||
const api = new Client('wss://hooks-testnet-v2.xrpl-labs.com')
|
||||
|
||||
await api.connect()
|
||||
|
||||
const { wallet, balance } = await api.fundWallet()
|
||||
|
||||
assert.notEqual(wallet, undefined)
|
||||
assert(isValidClassicAddress(wallet.classicAddress))
|
||||
assert(isValidXAddress(wallet.getXAddress()))
|
||||
|
||||
const info = await api.request({
|
||||
command: 'account_info',
|
||||
account: wallet.classicAddress,
|
||||
})
|
||||
|
||||
assert.equal(dropsToXrp(info.result.account_data.Balance), balance)
|
||||
assert.equal(balance, 10000)
|
||||
|
||||
/*
|
||||
* No test for fund given wallet because the hooks v2 testnet faucet
|
||||
* requires 10 seconds between requests. Would significantly slow down
|
||||
* the test suite.
|
||||
*/
|
||||
|
||||
await api.disconnect()
|
||||
})
|
||||
|
||||
it('submit funds wallet with custom amount', async function () {
|
||||
const api = new Client('wss://s.altnet.rippletest.net:51233')
|
||||
|
||||
await api.connect()
|
||||
const { wallet, balance } = await api.fundWallet(null, { amount: '2000' })
|
||||
assert.equal(balance, '2000')
|
||||
assert.notEqual(wallet, undefined)
|
||||
assert(isValidClassicAddress(wallet.classicAddress))
|
||||
assert(isValidXAddress(wallet.getXAddress()))
|
||||
|
||||
const info = await api.request({
|
||||
command: 'account_info',
|
||||
account: wallet.classicAddress,
|
||||
})
|
||||
assert.equal(dropsToXrp(info.result.account_data.Balance), balance)
|
||||
await api.disconnect()
|
||||
})
|
||||
})
|
||||
} from '../../src'
|
||||
|
||||
async function generate_faucet_wallet_and_fund_again(
|
||||
client: string,
|
||||
@@ -126,3 +46,101 @@ async function generate_faucet_wallet_and_fund_again(
|
||||
|
||||
await api.disconnect()
|
||||
}
|
||||
|
||||
// how long before each test case times out
|
||||
const TIMEOUT = 60000
|
||||
// This test is reliant on external networks, and as such may be flaky.
|
||||
describe('fundWallet', function () {
|
||||
it(
|
||||
'submit generates a testnet wallet',
|
||||
async function () {
|
||||
await generate_faucet_wallet_and_fund_again(
|
||||
'wss://s.altnet.rippletest.net:51233',
|
||||
)
|
||||
},
|
||||
TIMEOUT,
|
||||
)
|
||||
|
||||
it(
|
||||
'submit generates a devnet wallet',
|
||||
async function () {
|
||||
await generate_faucet_wallet_and_fund_again(
|
||||
'wss://s.devnet.rippletest.net:51233',
|
||||
)
|
||||
},
|
||||
TIMEOUT,
|
||||
)
|
||||
|
||||
// TODO: Investigate why this test is timing out on the browser
|
||||
// it('can generate and fund wallets using a custom host and path', async function () {
|
||||
// await generate_faucet_wallet_and_fund_again(
|
||||
// 'wss://s.devnet.rippletest.net:51233/',
|
||||
// 'faucet.devnet.rippletest.net',
|
||||
// '/accounts',
|
||||
// )
|
||||
// })
|
||||
|
||||
it(
|
||||
'can generate and fund wallets on AMM devnet',
|
||||
async function () {
|
||||
await generate_faucet_wallet_and_fund_again(
|
||||
'wss://amm.devnet.rippletest.net:51233',
|
||||
)
|
||||
},
|
||||
TIMEOUT,
|
||||
)
|
||||
|
||||
it(
|
||||
'can generate wallet on hooks v2 testnet',
|
||||
async function () {
|
||||
const api = new Client('wss://hooks-testnet-v2.xrpl-labs.com')
|
||||
|
||||
await api.connect()
|
||||
|
||||
const { wallet, balance } = await api.fundWallet()
|
||||
|
||||
assert.notEqual(wallet, undefined)
|
||||
assert(isValidClassicAddress(wallet.classicAddress))
|
||||
assert(isValidXAddress(wallet.getXAddress()))
|
||||
|
||||
const info = await api.request({
|
||||
command: 'account_info',
|
||||
account: wallet.classicAddress,
|
||||
})
|
||||
|
||||
assert.equal(dropsToXrp(info.result.account_data.Balance), balance)
|
||||
assert.equal(balance, 10000)
|
||||
|
||||
/*
|
||||
* No test for fund given wallet because the hooks v2 testnet faucet
|
||||
* requires 10 seconds between requests. Would significantly slow down
|
||||
* the test suite.
|
||||
*/
|
||||
|
||||
await api.disconnect()
|
||||
},
|
||||
TIMEOUT,
|
||||
)
|
||||
|
||||
it(
|
||||
'submit funds wallet with custom amount',
|
||||
async function () {
|
||||
const api = new Client('wss://s.altnet.rippletest.net:51233')
|
||||
|
||||
await api.connect()
|
||||
const { wallet, balance } = await api.fundWallet(null, { amount: '2000' })
|
||||
assert.equal(balance, '2000')
|
||||
assert.notEqual(wallet, undefined)
|
||||
assert(isValidClassicAddress(wallet.classicAddress))
|
||||
assert(isValidXAddress(wallet.getXAddress()))
|
||||
|
||||
const info = await api.request({
|
||||
command: 'account_info',
|
||||
account: wallet.classicAddress,
|
||||
})
|
||||
assert.equal(dropsToXrp(info.result.account_data.Balance), balance)
|
||||
await api.disconnect()
|
||||
},
|
||||
TIMEOUT,
|
||||
)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user