mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-20 04:05:52 +00:00
103 lines
2.8 KiB
JavaScript
103 lines
2.8 KiB
JavaScript
'use strict';
|
|
const assert = require('assert');
|
|
const Transaction = require('ripple-lib').Transaction;
|
|
const TransactionQueue = require('ripple-lib')._test.TransactionQueue;
|
|
|
|
describe('Transaction queue', function() {
|
|
it('Push transaction', function() {
|
|
const queue = new TransactionQueue();
|
|
const tx = new Transaction();
|
|
|
|
queue.push(tx);
|
|
|
|
assert.strictEqual(queue.length(), 1);
|
|
});
|
|
|
|
it('Remove transaction', function() {
|
|
const queue = new TransactionQueue();
|
|
const tx = new Transaction();
|
|
|
|
queue.push(tx);
|
|
queue.remove(tx);
|
|
|
|
assert.strictEqual(queue.length(), 0);
|
|
});
|
|
|
|
it('Remove transaction by ID', function() {
|
|
const queue = new TransactionQueue();
|
|
const tx = new Transaction();
|
|
|
|
queue.push(tx);
|
|
|
|
tx.submittedIDs = [
|
|
'1A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B',
|
|
'2A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B'
|
|
];
|
|
|
|
queue.remove(
|
|
'3A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B');
|
|
|
|
assert.strictEqual(queue.length(), 1);
|
|
|
|
queue.remove(
|
|
'2A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B');
|
|
|
|
assert.strictEqual(queue.length(), 0);
|
|
});
|
|
|
|
it('Add sequence', function() {
|
|
const queue = new TransactionQueue();
|
|
queue.addReceivedSequence(1);
|
|
assert(queue.hasSequence(1));
|
|
});
|
|
|
|
it('Add ID', function() {
|
|
const queue = new TransactionQueue();
|
|
const tx = new Transaction();
|
|
queue.addReceivedId(
|
|
'1A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B', tx);
|
|
assert.strictEqual(queue.getReceived(
|
|
'2A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B'),
|
|
undefined);
|
|
assert.strictEqual(queue.getReceived(
|
|
'1A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B'), tx);
|
|
});
|
|
|
|
it('Get submission', function() {
|
|
const queue = new TransactionQueue();
|
|
const tx = new Transaction();
|
|
|
|
queue.push(tx);
|
|
|
|
tx.submittedIDs = [
|
|
'1A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B',
|
|
'2A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B'
|
|
];
|
|
|
|
assert.strictEqual(queue.getSubmission(
|
|
'1A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B'), tx);
|
|
assert.strictEqual(queue.getSubmission(
|
|
'2A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B'), tx);
|
|
assert.strictEqual(queue.getSubmission(
|
|
'3A4DEBF37496464145AA301F0AA77712E3A2BFE3480D24C3584663F800B85B5B'),
|
|
undefined);
|
|
});
|
|
|
|
it('Iterate over queue', function() {
|
|
const queue = new TransactionQueue();
|
|
let count = 10;
|
|
|
|
for (let i = 0; i < count; i++) {
|
|
queue.push(new Transaction());
|
|
}
|
|
|
|
queue.forEach(function(tx) {
|
|
assert(tx instanceof Transaction);
|
|
--count;
|
|
});
|
|
|
|
assert.strictEqual(count, 0);
|
|
});
|
|
});
|
|
|