diff --git a/test/path-test.js b/test/path-test.js index 9e76784cc6..59ffd8cc0d 100644 --- a/test/path-test.js +++ b/test/path-test.js @@ -1,9 +1,10 @@ -var async = require("async"); -var buster = require("buster"); +var async = require("async"); +var buster = require("buster"); -var Amount = require("../src/js/amount.js").Amount; -var Remote = require("../src/js/remote.js").Remote; -var Server = require("./server.js").Server; +var Amount = require("../src/js/amount.js").Amount; +var Remote = require("../src/js/remote.js").Remote; +var Transaction = require("../src/js/transaction.js").Transaction; +var Server = require("./server.js").Server; var testutils = require("./testutils.js"); @@ -1222,5 +1223,55 @@ buster.testCase("Quality paths", { done(); }); }, + + "// quality payment (BROKEN DUE TO ROUNDING)" : + function (done) { + var self = this; + + async.waterfall([ + function (callback) { + self.what = "Create accounts."; + + testutils.create_accounts(self.remote, "root", "10000.0", ["alice", "bob"], callback); + }, + function (callback) { + self.what = "Set credit limits extended."; + + testutils.credit_limits(self.remote, + { + "bob" : "1000/USD/alice:" + .9*1e9 + "," + 1e9, + }, + callback); + }, + function (callback) { + self.what = "Payment with auto path"; + + self.remote.transaction() + .payment('alice', 'bob', "100/USD/bob") + .send_max("120/USD/alice") +// .set_flags('PartialPayment') +// .build_path(true) + .once('proposed', function (m) { + // console.log("proposed: %s", JSON.stringify(m)); + callback(m.result !== 'tesSUCCESS'); + }) + .submit(); + }, + function (callback) { + self.what = "Display ledger"; + + self.remote.request_ledger('current', { accounts: true, expand: true }) + .on('success', function (m) { + console.log("Ledger: %s", JSON.stringify(m, undefined, 2)); + + callback(); + }) + .request(); + }, + ], function (error) { + buster.refute(error, self.what); + done(); + }); + }, }); // vim:sw=2:sts=2:ts=8:et