UT: Test cross currency bridged payment and fixes.

This commit is contained in:
Arthur Britto
2012-11-20 12:43:27 -08:00
parent db7a1ef4ba
commit 42248ca3ef
2 changed files with 31 additions and 29 deletions

View File

@@ -335,6 +335,7 @@ buster.testCase("Offer tests", {
}, },
"ripple currency conversion : entire offer" : "ripple currency conversion : entire offer" :
// mtgox in, XRP out
function (done) { function (done) {
var self = this; var self = this;
var seq; var seq;
@@ -380,7 +381,7 @@ buster.testCase("Offer tests", {
function (callback) { function (callback) {
self.what = "Verify offer balance."; self.what = "Verify offer balance.";
testutils.verify_offer(self.remote, "bob", seq, "500", "100/USD/mtgox", callback); testutils.verify_offer(self.remote, "bob", seq, "100/USD/mtgox", "500", callback);
}, },
function (callback) { function (callback) {
self.what = "Alice converts USD to XRP."; self.what = "Alice converts USD to XRP.";
@@ -475,7 +476,7 @@ buster.testCase("Offer tests", {
function (callback) { function (callback) {
self.what = "Verify offer balance."; self.what = "Verify offer balance.";
testutils.verify_offer(self.remote, "bob", seq, "300", "60/USD/mtgox", callback); testutils.verify_offer(self.remote, "bob", seq, "60/USD/mtgox", "300", callback);
}, },
function (callback) { function (callback) {
self.what = "Verify balances."; self.what = "Verify balances.";
@@ -696,7 +697,7 @@ buster.testCase("Offer cross currency", {
function (callback) { function (callback) {
self.what = "Verify offer partially consumed."; self.what = "Verify offer partially consumed.";
testutils.verify_offer(self.remote, "carol", seq, "250", "25/USD/mtgox", callback); testutils.verify_offer(self.remote, "carol", seq, "25/USD/mtgox", "250", callback);
}, },
], function (error) { ], function (error) {
buster.refute(error, self.what); buster.refute(error, self.what);
@@ -704,7 +705,7 @@ buster.testCase("Offer cross currency", {
}); });
}, },
"// ripple cross currency bridged payment" : "ripple cross currency bridged payment" :
// alice --> [USD/mtgox --> carol --> XRP] --> [XRP --> dan --> EUR/bitstamp] --> bob // alice --> [USD/mtgox --> carol --> XRP] --> [XRP --> dan --> EUR/bitstamp] --> bob
function (done) { function (done) {
@@ -774,6 +775,7 @@ buster.testCase("Offer cross currency", {
self.remote.transaction() self.remote.transaction()
.payment("alice", "bob", "30/EUR/bitstamp") .payment("alice", "bob", "30/EUR/bitstamp")
.send_max("333/USD/mtgox") .send_max("333/USD/mtgox")
.path_add( [ { currency: "XRP" } ])
.on('proposed', function (m) { .on('proposed', function (m) {
// console.log("proposed: %s", JSON.stringify(m)); // console.log("proposed: %s", JSON.stringify(m));
@@ -781,28 +783,28 @@ buster.testCase("Offer cross currency", {
}) })
.submit(); .submit();
}, },
// function (callback) { function (callback) {
// self.what = "Verify balances."; self.what = "Verify balances.";
//
// testutils.verify_balances(self.remote, testutils.verify_balances(self.remote,
// { {
// "alice" : "470/USD/mtgox", "alice" : "470/USD/mtgox",
// "bob" : "30/EUR/bitstamp", "bob" : "30/EUR/bitstamp",
// "carol" : "30/USD/mtgox", "carol" : "30/USD/mtgox",
// "dan" : "370/EUR/bitstamp", "dan" : "370/EUR/bitstamp",
// }, },
// callback); callback);
// }, },
// function (callback) { function (callback) {
// self.what = "Verify carol offer partially consumed."; self.what = "Verify carol offer partially consumed.";
//
// testutils.verify_offer(self.remote, "carol", seq_carol, "250", "25/USD/mtgox", callback); testutils.verify_offer(self.remote, "carol", seq_carol, "20/USD/mtgox", "200", callback);
// }, },
// function (callback) { function (callback) {
// self.what = "Verify dan offer partially consumed."; self.what = "Verify dan offer partially consumed.";
//
// testutils.verify_offer(self.remote, "dan", seq_dan, "250", "25/USD/mtgox", callback); testutils.verify_offer(self.remote, "dan", seq_dan, "200", "20/EUR/mtgox", callback);
// }, },
], function (error) { ], function (error) {
buster.refute(error, self.what); buster.refute(error, self.what);
done(); done();

View File

@@ -326,7 +326,7 @@ var verify_balances = function (remote, balances, callback) {
// --> seq: sequence number of creating transaction. // --> seq: sequence number of creating transaction.
// --> taker_gets: json amount // --> taker_gets: json amount
// --> taker_pays: json amount // --> taker_pays: json amount
var verify_offer = function (remote, owner, seq, taker_gets, taker_pays, callback) { var verify_offer = function (remote, owner, seq, taker_pays, taker_gets, callback) {
assert(6 === arguments.length); assert(6 === arguments.length);
remote.request_ledger_entry('offer') remote.request_ledger_entry('offer')
@@ -349,12 +349,12 @@ var verify_offer_not_found = function (remote, owner, seq, callback) {
remote.request_ledger_entry('offer') remote.request_ledger_entry('offer')
.offer_id(owner, seq) .offer_id(owner, seq)
.on('success', function (m) { .on('success', function (m) {
console.log("verify_no_offer: found offer: %s", JSON.stringify(m)); console.log("verify_offer_not_found: found offer: %s", JSON.stringify(m));
callback('entryFound'); callback('entryFound');
}) })
.on('error', function (m) { .on('error', function (m) {
// console.log("verify_no_offer: success: %s", JSON.stringify(m)); // console.log("verify_offer_not_found: success: %s", JSON.stringify(m));
callback('remoteError' !== m.error callback('remoteError' !== m.error
|| 'entryNotFound' !== m.remote.error); || 'entryNotFound' !== m.remote.error);