diff --git a/src/connection/index.js b/src/connection/index.js index 59be9a4..64afc6a 100644 --- a/src/connection/index.js +++ b/src/connection/index.js @@ -67,7 +67,7 @@ export default class Connection { * @param transactionId * @param status */ - listBlocks({ transactionId, status }) { + listBlocks(transactionId, status) { return this._req(this.getApiUrls('blocks'), { query: { transaction_id: transactionId, diff --git a/test/connection/test_connection.js b/test/connection/test_connection.js index 8a8979e..6b90186 100644 --- a/test/connection/test_connection.js +++ b/test/connection/test_connection.js @@ -97,7 +97,7 @@ test('Get list of blocks for a transaction id', t => { conn._req = sinon.spy() conn.getApiUrls = sinon.stub().returns(expectedPath) - conn.listBlocks({ transactionId, status }) + conn.listBlocks(transactionId, status) t.truthy(conn._req.calledWith( expectedPath, { diff --git a/test/integration/test_integration.js b/test/integration/test_integration.js index 8d38b70..7199722 100644 --- a/test/integration/test_integration.js +++ b/test/integration/test_integration.js @@ -269,3 +269,28 @@ test('Search for an asset', t => { createTxSigned.asset.data.message )) }) + + +test('Search blocks containing a transaction', t => { + const conn = new Connection(API_PATH) + + const createTx = Transaction.makeCreateTransaction( + asset(), + metaData, + [aliceOutput], + alice.publicKey + ) + const createTxSigned = Transaction.signTransaction( + createTx, + alice.privateKey + ) + + return conn.postTransaction(createTxSigned) + .then(({ id }) => conn.pollStatusAndFetchTransaction(id)) + .then(({ id }) => conn.listBlocks(id, 'VALID')) + .then(blocks => conn.getBlock(blocks.pop())) + .then(({ block: { transactions } }) => transactions.filter( + ({ id }) => id === createTxSigned.id + )) + .then(transactions => t.truthy(transactions.length === 1)) +})