streamer-client
Version:
A node.js client for the Duke OIT Streamer API
64 lines (58 loc) • 1.97 kB
JavaScript
/* global describe */
/* global it */
var assert = require('assert');
var sinon = require('sinon');
var rewire = require('rewire');
var Dispatcher = rewire('../lib/dispatcher');
describe('Dispatcher', function() {
describe('ROOT_URL', function() {
it('should be the root api url', function() {
assert.equal(Dispatcher.ROOT_URL, 'https://streamer.oit.duke.edu');
});
});
describe('#new', function() {
it('should have the auth key and auth value', function(){
var authKey = 'access_token';
var authValue = '945fdsafd3';
var client = new Dispatcher(authKey, authValue);
assert.equal(client.authKey, authKey);
assert.equal(client.authValue, authValue);
});
});
describe('#dispatch', function() {
it('should set the authKey and authValue in the query params', function() {
var request = sinon.stub();
Dispatcher.__set__('request', request);
var authValue = '821874ff';
var dispatcher = new Dispatcher('access_token', authValue);
dispatcher.dispatch({qs: {}});
assert(request.calledWithMatch({
qs: {
access_token: authValue
}
}));
});
});
describe('#get', function() {
it('should pass the right method', function() {
var request = sinon.stub();
Dispatcher.__set__('request', request);
var authValue = 'jhfdasf8fd';
var dispatcher = new Dispatcher('access_token', authValue);
dispatcher.get('/curriculum/courses', {});
assert(request.calledWithMatch({
method: 'GET'
}));
});
it('should pass the right url', function() {
var request = sinon.stub();
Dispatcher.__set__('request', request);
var authValue = 'fdsafjk313';
var dispatcher = new Dispatcher('access_token', authValue);
dispatcher.get('/curriculum/courses', {});
assert(request.calledWithMatch({
url: dispatcher.url('/curriculum/courses')
}));
});
});
});