You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
3.8 KiB
JavaScript
183 lines
3.8 KiB
JavaScript
describe('radio.reqres', function() {
|
|
|
|
describe('.request`', function() {
|
|
|
|
var ch, chName, reqName, stub;
|
|
|
|
beforeEach(function() {
|
|
|
|
chName = 'test';
|
|
reqName = 'some:request';
|
|
|
|
ch = Wreqr.radio.channel( chName );
|
|
|
|
stub = sinon.stub( ch.reqres, 'request' );
|
|
Wreqr.radio.reqres.request( chName, reqName );
|
|
|
|
});
|
|
|
|
afterEach(function() {
|
|
stub.restore();
|
|
});
|
|
|
|
it( 'should forward the call to the Channel\'s reqres request function', function() {
|
|
expect( stub ).toHaveBeenCalledOnce();
|
|
});
|
|
|
|
it( 'should pass the correct arguments to reqres.request', function() {
|
|
expect( stub ).toHaveBeenCalledWith( reqName );
|
|
});
|
|
|
|
});
|
|
|
|
describe('.setHandler` ', function() {
|
|
|
|
var ch, chName, fn, commandName, stub;
|
|
|
|
beforeEach(function() {
|
|
|
|
chName = 'test';
|
|
fn = function() {};
|
|
commandName = 'some:command';
|
|
|
|
ch = Wreqr.radio.channel( chName );
|
|
|
|
stub = sinon.stub( ch.reqres, 'setHandler' );
|
|
Wreqr.radio.reqres.setHandler( chName, commandName, fn );
|
|
|
|
});
|
|
|
|
afterEach(function() {
|
|
|
|
stub.restore();
|
|
|
|
});
|
|
|
|
it( 'should forward the call to the Channel\'s reqres object', function() {
|
|
expect( stub ).toHaveBeenCalledOnce();
|
|
});
|
|
|
|
it( 'should pass the correct arguments to reqres.setHandler', function() {
|
|
expect( stub ).toHaveBeenCalledWith( commandName, fn );
|
|
});
|
|
|
|
});
|
|
|
|
describe('.setHandlers', function() {
|
|
|
|
var ch, chName, obj, commandName, stub;
|
|
|
|
beforeEach(function() {
|
|
|
|
chName = 'test';
|
|
obj = {
|
|
some1: function() {},
|
|
some2: function() {}
|
|
};
|
|
commandName = 'some:command';
|
|
|
|
ch = Wreqr.radio.channel( chName );
|
|
|
|
stub = sinon.stub( ch.reqres, 'setHandlers' );
|
|
Wreqr.radio.reqres.setHandlers( chName, commandName, obj );
|
|
|
|
});
|
|
|
|
afterEach(function() {
|
|
|
|
stub.restore();
|
|
|
|
});
|
|
|
|
it( 'should forward the call to the Channel\'s reqres object', function() {
|
|
expect( stub ).toHaveBeenCalledOnce();
|
|
});
|
|
|
|
it( 'should pass the correct arguments to reqres.setHandlers', function() {
|
|
expect( stub ).toHaveBeenCalledWith( commandName, obj );
|
|
});
|
|
|
|
});
|
|
|
|
describe('.removeHandler', function() {
|
|
|
|
var ch, chName, commandName, stub;
|
|
|
|
beforeEach(function() {
|
|
|
|
chName = 'test';
|
|
commandName = 'some:command';
|
|
|
|
ch = Wreqr.radio.channel( chName );
|
|
|
|
stub = sinon.stub( ch.reqres, 'removeHandler' );
|
|
Wreqr.radio.reqres.removeHandler( chName, commandName );
|
|
|
|
});
|
|
|
|
afterEach(function() {
|
|
|
|
stub.restore();
|
|
|
|
});
|
|
|
|
it( 'should forward the call to the Channel\'s reqres object', function() {
|
|
expect( stub ).toHaveBeenCalledOnce();
|
|
});
|
|
|
|
it( 'should pass the correct arguments to reqres.removeHandler', function() {
|
|
expect( stub ).toHaveBeenCalledWith( commandName );
|
|
});
|
|
|
|
});
|
|
|
|
describe('.removeAllHandlers', function() {
|
|
|
|
var ch, chName, stub;
|
|
|
|
beforeEach(function() {
|
|
|
|
chName = 'test';
|
|
|
|
ch = Wreqr.radio.channel( chName );
|
|
|
|
stub = sinon.stub( ch.reqres, 'removeAllHandlers' );
|
|
Wreqr.radio.reqres.removeAllHandlers( chName );
|
|
|
|
});
|
|
|
|
afterEach(function() {
|
|
|
|
stub.restore();
|
|
|
|
});
|
|
|
|
it( 'should forward the call to the Channel\'s reqres object', function() {
|
|
expect( stub ).toHaveBeenCalledOnce();
|
|
});
|
|
|
|
});
|
|
|
|
describe('passing data between the handler and the request', function() {
|
|
|
|
var ch, chName, fn, returnObject;
|
|
|
|
beforeEach(function() {
|
|
chName = 'test';
|
|
reqName = 'some:request';
|
|
fn = function(p1, p2){
|
|
return p1 + p2;
|
|
};
|
|
|
|
Wreqr.radio.reqres.setHandler( chName, reqName, fn );
|
|
returnObject = Wreqr.radio.reqres.request( chName, reqName , 1, 2);
|
|
});
|
|
|
|
it( 'should pass parameters to handler from request', function() {
|
|
expect( returnObject ).toEqual(3);
|
|
});
|
|
|
|
});
|
|
|
|
})
|