diff --git a/test/api-test.js b/test/api-test.js index 3ebf776d..9d4c9a01 100644 --- a/test/api-test.js +++ b/test/api-test.js @@ -120,6 +120,13 @@ describe('RippleAPI', function() { _.partial(checkResult, responses.getTransaction.orderCancellation, done)); }); + it('getTransaction - trustline set', function(done) { + const hash = + '635A0769BD94710A1F6A76CDE65A3BC661B20B798807D1BBBDADCEA26420538D'; + this.api.getTransaction(hash, {}, + _.partial(checkResult, responses.getTransaction.trustline, done)); + }); + it('getTransactions', function(done) { const options = {types: ['payment', 'order'], outgoing: true, limit: 2}; this.api.getTransactions(address, options, diff --git a/test/fixtures/api/responses/get-transaction-trustline-set.json b/test/fixtures/api/responses/get-transaction-trustline-set.json new file mode 100644 index 00000000..6b6659cc --- /dev/null +++ b/test/fixtures/api/responses/get-transaction-trustline-set.json @@ -0,0 +1,32 @@ +{ + "type": "trustline", + "address": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "sequence": 449, + "id": "635A0769BD94710A1F6A76CDE65A3BC661B20B798807D1BBBDADCEA26420538D", + "specification": { + "limit": "10000", + "currency": "USD", + "counterparty": "rMH4UxPrbuMa1spCBR98hLLyNJp4d8p4tM", + "qualityIn": 500000000, + "qualityOut": 500000000, + "disableRippling": true, + "frozen": false, + "authorized": false + }, + "outcome": { + "result": "tesSUCCESS", + "timestamp": "2015-07-14T23:59:00.000Z", + "fee": "0.012", + "balanceChanges": { + "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b": [ + { + "currency": "XRP", + "value": "-0.012" + } + ] + }, + "orderbookChanges": {}, + "ledgerVersion": 14640523, + "indexInLedger": 1 + } +} diff --git a/test/fixtures/api/responses/index.js b/test/fixtures/api/responses/index.js index c48141aa..8e8ccb1e 100644 --- a/test/fixtures/api/responses/index.js +++ b/test/fixtures/api/responses/index.js @@ -13,7 +13,8 @@ module.exports = { orderCancellation: require('./get-transaction-order-cancellation.json'), order: require('./get-transaction-order.json'), payment: require('./get-transaction-payment.json'), - settings: require('./get-transaction-settings.json') + settings: require('./get-transaction-settings.json'), + trustline: require('./get-transaction-trustline-set.json') }, getTransactions: require('./get-transactions.json'), getTrustlines: require('./get-trustlines.json'), diff --git a/test/fixtures/api/rippled/index.js b/test/fixtures/api/rippled/index.js index 3da3eaef..0beefeb8 100644 --- a/test/fixtures/api/rippled/index.js +++ b/test/fixtures/api/rippled/index.js @@ -9,6 +9,7 @@ module.exports = { tx: { AccountSet: require('./tx/account-set.json'), OfferCreate: require('./tx/offer-create.json'), - OfferCancel: require('./tx/offer-cancel.json') + OfferCancel: require('./tx/offer-cancel.json'), + TrustSet: require('./tx/trust-set.json') } }; diff --git a/test/fixtures/api/rippled/tx/trust-set.json b/test/fixtures/api/rippled/tx/trust-set.json new file mode 100644 index 00000000..7a2fc9de --- /dev/null +++ b/test/fixtures/api/rippled/tx/trust-set.json @@ -0,0 +1,48 @@ +{ + "Account": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "Fee": "12000", + "Flags": 131072, + "LastLedgerSequence": 14640622, + "LimitAmount": { + "currency": "USD", + "issuer": "rMH4UxPrbuMa1spCBR98hLLyNJp4d8p4tM", + "value": "10000" + }, + "QualityIn": 500000000, + "QualityOut": 500000000, + "Sequence": 449, + "SigningPubKey": "036A749E3B7187E43E8936E3D83A7030989325249E03803F12B7F64BAACABA6025", + "TransactionType": "TrustSet", + "TxnSignature": "3045022100D91DB5E6E8B6650E67A61C04D110EB61FA1F83E25815F7EE1A24A1A0DD40C3DD0220578726715E597B6FB8EBDAD88CA9E6A5A64F17BE1AC9EEA89584663BC55021BE", + "date": 490233540, + "hash": "635A0769BD94710A1F6A76CDE65A3BC661B20B798807D1BBBDADCEA26420538D", + "inLedger": 14640523, + "ledger_index": 14640523, + "meta": { + "AffectedNodes": [ + { + "ModifiedNode": { + "FinalFields": { + "Account": "r9UHu5CWni1qRY7Q4CfFZLGvXo2pGQy96b", + "Balance": "72019096", + "Domain": "726970706C652E636F6D", + "Flags": 0, + "OwnerCount": 3, + "Sequence": 450 + }, + "LedgerEntryType": "AccountRoot", + "LedgerIndex": "4AD70690C6FF8A069F8AE00B09F70E9B732360026E8085050D314432091A59C9", + "PreviousFields": { + "Balance": "72031096", + "Sequence": 449 + }, + "PreviousTxnID": "B1E5D76EA71644EF349843D9AB03D76651A42649A95E2FC07C1D8284F10D76A2", + "PreviousTxnLgrSeq": 14640521 + } + } + ], + "TransactionIndex": 1, + "TransactionResult": "tesSUCCESS" + }, + "validated": true +} diff --git a/test/mock-rippled.js b/test/mock-rippled.js index db3df42b..36f77c4d 100644 --- a/test/mock-rippled.js +++ b/test/mock-rippled.js @@ -110,6 +110,10 @@ module.exports = function(port) { '809335DD3B0B333865096217AA2F55A4DF168E0198080B3A090D12D88880FF0E') { const transaction = fixtures.tx.OfferCancel; conn.send(fixtures.misc.transactionResponse(request, transaction)); + } else if (request.transaction === + '635A0769BD94710A1F6A76CDE65A3BC661B20B798807D1BBBDADCEA26420538D') { + const transaction = fixtures.tx.TrustSet; + conn.send(fixtures.misc.transactionResponse(request, transaction)); } else if (request.transaction === hashes.NOTFOUND_TRANSACTION_HASH) { conn.send(fixtures.misc.transactionNotFoundResponse(request)); } else {