feat: Jest Test Runner (#2170)

This commit is contained in:
justinr1234
2023-02-03 17:03:07 -06:00
committed by GitHub
parent 5a63f18faf
commit 5fe480ece4
229 changed files with 13497 additions and 17033 deletions

View File

@@ -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,
)
})