mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-19 18:45:52 +00:00
92 lines
2.8 KiB
JavaScript
92 lines
2.8 KiB
JavaScript
/* -------------------------------- REQUIRES -------------------------------- */
|
|
|
|
var assert = require('assert-diff');
|
|
var lodash = require('lodash');
|
|
|
|
var testutils = require('./testutils');
|
|
var LedgerState = require('./ledger-state').LedgerState;
|
|
|
|
var config = testutils.init_config();
|
|
// We just use equal instead of strictEqual everywhere.
|
|
assert.options.strict = true;
|
|
|
|
/* ---------------------------------- TEST ---------------------------------- */
|
|
|
|
function makeSuite(name, ledger_state, tests) {
|
|
suite(name, function() {
|
|
// build_(setup|teardown) utils functions set state on this context var.
|
|
var context = {};
|
|
|
|
// This runs only once
|
|
suiteSetup(function(done) {
|
|
testutils.build_setup().call(context, function() {
|
|
var ledger = new LedgerState(ledger_state,
|
|
assert, context.remote,
|
|
config);
|
|
// Run the ledger setup util. This compiles the declarative description
|
|
// into a series of transactions and executes them.
|
|
ledger.setup(lodash.noop /*logger*/, function(){
|
|
done();
|
|
})
|
|
});
|
|
});
|
|
|
|
suiteTeardown(function(done) {
|
|
testutils.build_teardown().call(context, done);
|
|
});
|
|
|
|
lodash.forOwn(tests, function(func, name) {
|
|
test(name, function(done) {
|
|
func.call(this, context.remote, context, done);
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
makeSuite (
|
|
'account_offers',
|
|
{
|
|
accounts: {
|
|
G1 : {balance: ["1000.0"]},
|
|
|
|
bob : {
|
|
balance: ["1000.0", "1000/USD/G1"],
|
|
// these offers will be in `Sequence`
|
|
offers: [["100.0", "1/USD/bob"],
|
|
["100.0", "1/USD/G1"],
|
|
["10.0", "2/USD/G1"]]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
quality: function(remote, _, done) {
|
|
remote.requestAccountOffers({account: 'bob'}, function(err, response) {
|
|
var expected = [
|
|
{"flags": 65536,
|
|
"quality": "100000000",
|
|
"seq": 3,
|
|
"taker_gets": {"currency": "USD",
|
|
"issuer": "rPMh7Pi9ct699iZUTWaytJUoHcJ7cgyziK",
|
|
"value": "1"},
|
|
"taker_pays": "100000000"},
|
|
{"flags": 65536,
|
|
"quality": "100000000",
|
|
"seq": 4,
|
|
"taker_gets": {"currency": "USD",
|
|
"issuer": "r32rQHyesiTtdWFU7UJVtff4nCR5SHCbJW",
|
|
"value": "1"},
|
|
"taker_pays": "100000000"},
|
|
{"flags": 65536,
|
|
"quality": "5000000",
|
|
"seq": 5,
|
|
"taker_gets": {"currency": "USD",
|
|
"issuer": "r32rQHyesiTtdWFU7UJVtff4nCR5SHCbJW",
|
|
"value": "2"},
|
|
"taker_pays": "10000000"}];
|
|
|
|
assert.deepEqual(response.offers, expected);
|
|
done();
|
|
});
|
|
}}
|
|
);
|