From 05337261ffb4abfb0fbbb9c775ccad0e28645692 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Wed, 22 Oct 2014 08:35:44 -0400 Subject: Begin rewrite for new API --- tests/active911.js | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 tests/active911.js (limited to 'tests/active911.js') diff --git a/tests/active911.js b/tests/active911.js new file mode 100644 index 0000000..309aafb --- /dev/null +++ b/tests/active911.js @@ -0,0 +1,105 @@ +require('should'); +require('nock'); +Active911 = require('../lib/active911.js'); + +var a911; + +var testDevicesResponse = require('replies/devices.json'); +var testAgencyResponse = require('replies/agency.json'); +var testDeviceResponse = require('replies/device.json'); +var testErrorResponse = require('replies/error.json'); + +describe('Active911 API', function() { + + beforeEach(function(done) { + a911 = new Active911(); + }); + + describe('#getAgency', function() { + + it('Should return correct agency data', function() { + + nock('https://access.active911.com') + .get('/interface/open_api/api/') + .replyWithFile(200, __dirname + 'replies/agency.json'}); + + a911.getAgency(function(err, agency) { + should.not.exist(err); + agency.should.equal(testAgencyResponse.message.agency); + }); + }); + + it('Should give an error if the API gives an error', function() { + nock('https://access.active911.com') + .get('/interface/open_api/api/') + .replyWithFile(400, __dirname + 'replies/error.json'); + + a911.getAgency(function(err, agency) { + err.should.equal(testErrorResponse.message); + should.not.exist(agency); + }); + }); + + }); + + describe('#getDevices', function() { + it('Should return correct device data', function() { + + nock('https://access.active911.com') + .get('/interface/open_api/api/') + .replyWithFile(400, __dirname + 'replies/agency.json'); + + a911.getDevices(function(err, devices) { + should.not.exist(err); + devices.should.equal(testDevicesResponse.message.devices); + }); + }); + + it('Should give an error if the API gives an error', function() { + nock('https://access.active911.com') + .get('/interface/open_api/api/') + .replyWithFile(400, __dirname + 'replies/error.json'); + + a911.getDevices(function(err, devices) { + err.should.equal(testErrorResponse.message); + should.not.exist(devices); + }); + }); + }); + + describe('#getDevice', function() { + it('Should return correct device data (String id)', function() { + nock('https://access.active911.com') + .get('/interface/open_api/api/devices/1') + .replyWithFile(200, __dirname + 'replies/device.json'); + + a911.getDevice('1', function(err, device) { + should.not.exist(err); + device.should.equal(testDeviceResponse.message.device); + }); + }); + + it('Should return correct device data (Number id)', function() { + nock('https://access.active911.com') + .get('/interface/open_api/api/devices/1') + .replyWithFile(200, __dirname + 'replies/device.json'); + + a911.getDevice(1, function(err, device) { + should.not.exist(err); + device.should.equal(testDeviceResponse.message.device); + }); + }); + + it('Should give an error if the API gives an error', function() { + nock('https://access.active911.com') + .get('/interface/open_api/api/devices/1') + .replyWithFile(400, __dirname + 'replies/error.json'); + + a911.getDevice(1, function(err, device) { + err.should.equal(testErrorResponse.message); + should.not.exist(device); + }); + }); + }); + +}); -- cgit v1.2.3