forked from cerc-io/plugeth
48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
|
var assert = require('assert');
|
||
|
var jsonrpc = require('../lib/jsonrpc');
|
||
|
|
||
|
describe('jsonrpc', function () {
|
||
|
describe('toBatchPayload', function () {
|
||
|
it('should create basic batch payload', function () {
|
||
|
|
||
|
// given
|
||
|
var messages = [{
|
||
|
method: 'helloworld'
|
||
|
}, {
|
||
|
method: 'test2',
|
||
|
params: [1]
|
||
|
}];
|
||
|
|
||
|
// when
|
||
|
var payload = jsonrpc.toBatchPayload(messages);
|
||
|
|
||
|
// then
|
||
|
assert.equal(payload instanceof Array, true);
|
||
|
assert.equal(payload.length, 2);
|
||
|
assert.equal(payload[0].jsonrpc, '2.0');
|
||
|
assert.equal(payload[1].jsonrpc, '2.0');
|
||
|
assert.equal(payload[0].method, 'helloworld');
|
||
|
assert.equal(payload[1].method, 'test2');
|
||
|
assert.equal(payload[0].params instanceof Array, true);
|
||
|
assert.equal(payload[1].params.length, 1);
|
||
|
assert.equal(payload[1].params[0], 1);
|
||
|
assert.equal(typeof payload[0].id, 'number');
|
||
|
assert.equal(typeof payload[1].id, 'number');
|
||
|
assert.equal(payload[0].id + 1, payload[1].id);
|
||
|
});
|
||
|
|
||
|
it('should create batch payload for empty input array', function () {
|
||
|
|
||
|
// given
|
||
|
var messages = [];
|
||
|
|
||
|
// when
|
||
|
var payload = jsonrpc.toBatchPayload(messages);
|
||
|
|
||
|
// then
|
||
|
assert.equal(payload instanceof Array, true);
|
||
|
assert.equal(payload.length, 0);
|
||
|
});
|
||
|
});
|
||
|
});
|