UNPKG

node-ciscospark

Version:

Super-Simple Lightweight Javascript wrapper for Cisco Spark API

146 lines (129 loc) 5.17 kB
'use strict'; /* eslint-env mocha */ /* eslint-disable no-unused-expressions */ var Spark = require('../src'); var expect = require('chai').expect; var TEST_ACCESSTOKEN = '**TestAccessToken**'; var TEST_USERAGENT = '**TestUsergent**'; var TEST_ROOM_ID = '**TestRoomId**'; /** @test {Messages} */ describe('CiscoSpark.messages', function () { before(function () { this.spark = new Spark(TEST_ACCESSTOKEN, TEST_USERAGENT); this.spark.requestCallback = function (options, callback) { return callback(null, { options: options, timestamp: Date.now() }); }; }); describe('- Chat Room', function () { /** @test {Messages#createToRoom} */ it('should send Message to a Room', function (done) { var _this = this; var text = 'This is a test message'; this.spark.messages.createToRoom(TEST_ROOM_ID, text, function (err, response) { expect(err).to.be.not.ok; expect(response.options.url).to.be.equal(_this.spark.messages.apiUrl); expect(response.options.headers.Authorization).to.be.equal('Bearer ' + TEST_ACCESSTOKEN); expect(response.options.headers['User-Agent']).to.be.equal(TEST_USERAGENT); expect(response.options.method).to.be.equal('POST'); expect(response.options.form.roomId).to.be.equal(TEST_ROOM_ID); expect(response.options.form.markdown).to.be.equal(text); done(); }); }); /** @test {Messages#list} */ it('should list Messages in a Room', function (done) { var _this2 = this; this.spark.messages.list(TEST_ROOM_ID, function (err, response) { expect(err).to.be.not.ok; expect(response.options.url).to.be.equal(_this2.spark.messages.apiUrl); expect(response.options.method).to.be.equal('GET'); expect(response.options.qs.roomId).to.be.equal(TEST_ROOM_ID); done(); }); }); /** @test {Messages#get} */ it('should get Message information from a Room', function (done) { var _this3 = this; this.spark.messages.get(TEST_ROOM_ID, function (err, response) { expect(err).to.be.not.ok; expect(response.options.url).to.be.equal(_this3.spark.messages.apiUrl + '/' + TEST_ROOM_ID); expect(response.options.method).to.be.equal('GET'); done(); }); }); /** @test {Messages#delete} */ it('should delete a Message from a Room', function (done) { var _this4 = this; this.spark.messages.delete(TEST_ROOM_ID, function (err, response) { expect(err).to.be.not.ok; expect(response.options.url).to.be.equal(_this4.spark.messages.apiUrl + '/' + TEST_ROOM_ID); expect(response.options.method).to.be.equal('DELETE'); done(); }); }); }); describe('- DirectToPerson', function () { /** @test {Messages#createToPersonId} */ it('should send Message to a Person via ID', function (done) { var TEST_ID = '**TestPersonId**'; var text = 'This is a test message'; this.spark.messages.createToPersonId(TEST_ID, text, function (err, response) { expect(err).to.be.not.ok; expect(response.options.method).to.be.equal('POST'); expect(response.options.form.toPersonId).to.be.equal(TEST_ID); expect(response.options.form.markdown).to.be.equal(text); done(); }); }); /** @test {Messages#createToPersonEmail} */ it('should send Message to a Person via Email', function (done) { var TEST_ID = 'test@example.com'; var text = 'This is a test message'; this.spark.messages.createToPersonEmail(TEST_ID, text, function (err, response) { expect(err).to.be.not.ok; expect(response.options.method).to.be.equal('POST'); expect(response.options.form.toPersonEmail).to.be.equal(TEST_ID); expect(response.options.form.markdown).to.be.equal(text); done(); }); }); }); describe('- Test Errors', function () { /** @test {Messages#list} */ it('should error when list without RoomId', function (done) { this.spark.messages.list(null, function (err, response) { expect(err).to.be.instanceOf(Error); expect(response).to.be.not.ok; done(); }); }); /** @test {Messages#create} */ it('should error when create without RoomId', function (done) { var text = 'This is a test message'; this.spark.messages.create({ markdown: text }, function (err, response) { expect(err).to.be.instanceOf(Error); expect(response).to.be.not.ok; done(); }); }); /** @test {Messages#get} */ it('should error when get without MessageId', function (done) { this.spark.messages.get(null, function (err, response) { expect(err).to.be.instanceOf(Error); expect(response).to.be.not.ok; done(); }); }); /** @test {Messages#delete} */ it('should error when delete without MessageId', function (done) { this.spark.messages.delete(null, function (err, response) { expect(err).to.be.instanceOf(Error); expect(response).to.be.not.ok; done(); }); }); }); });