aboutsummaryrefslogtreecommitdiff
path: root/tests/active911.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/active911.js')
-rw-r--r--tests/active911.js105
1 files changed, 105 insertions, 0 deletions
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);
+ });
+ });
+ });
+
+});