UNPKG

streamer-client

Version:

A node.js client for the Duke OIT Streamer API

64 lines (58 loc) 1.97 kB
/* 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') })); }); }); });