UNPKG

node-ciscospark

Version:

Super-Simple Lightweight Javascript wrapper for Cisco Spark API

112 lines (98 loc) 3.82 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_TEAM_ID = '**TestTeamId**'; var TEST_MEMBERSHIP_ID = '**TestMemberId**'; /** @test {TeamMemberships} */ describe('CiscoSpark.teamMemberships', 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() }); }; this.instance = this.spark.teamMemberships; }); /** @test {TeamMemberships#list} */ it('should list Memberships in a Team', function (done) { var _this = this; this.instance.list(TEST_TEAM_ID, function (err, response) { expect(err).to.be.not.ok; 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.url).to.be.equal(_this.instance.apiUrl); expect(response.options.method).to.be.equal('GET'); expect(response.options.qs.teamId).to.be.equal(TEST_TEAM_ID); done(); }); }); /** @test {TeamMemberships#create} */ it('should create a Team Membership', function (done) { var email = 'test@example.com'; this.instance.create({ teamId: TEST_TEAM_ID, personEmail: email }, function (err, response) { expect(err).to.be.not.ok; expect(response.options.method).to.be.equal('POST'); expect(response.options.form.teamId).to.be.equal(TEST_TEAM_ID); expect(response.options.form.personEmail).to.be.equal(email); done(); }); }); /** @test {TeamMemberships#get} */ it('should get Team Membership Details', function (done) { var _this2 = this; this.instance.get(TEST_MEMBERSHIP_ID, function (err, response) { expect(err).to.be.not.ok; expect(response.options.url).to.be.equal(_this2.instance.apiUrl + '/' + TEST_MEMBERSHIP_ID); expect(response.options.method).to.be.equal('GET'); done(); }); }); /** @test {TeamMemberships#update} */ it('should update Team Membership Details', function (done) { var _this3 = this; this.instance.update(TEST_MEMBERSHIP_ID, { isModerator: true }, function (err, response) { expect(err).to.be.not.ok; expect(response.options.url).to.be.equal(_this3.instance.apiUrl + '/' + TEST_MEMBERSHIP_ID); expect(response.options.json.isModerator).to.be.ok; expect(response.options.method).to.be.equal('PUT'); done(); }); }); /** @test {TeamMemberships#delete} */ it('should delete a Team Membership', function (done) { var _this4 = this; this.instance.delete(TEST_MEMBERSHIP_ID, function (err, response) { expect(err).to.be.not.ok; expect(response.options.url).to.be.equal(_this4.instance.apiUrl + '/' + TEST_MEMBERSHIP_ID); expect(response.options.method).to.be.equal('DELETE'); done(); }); }); describe('- Test Errors', function () { /** @test {TeamMemberships#create} */ it('should error when create without TeamId', function (done) { this.instance.create(null, function (err, response) { expect(err).to.be.instanceOf(Error); expect(response).to.be.not.ok; done(); }); }); /** @test {TeamMemberships#create} */ it('should error when create without PersonId or EMail', function (done) { this.instance.create({ teamId: TEST_TEAM_ID }, function (err, response) { expect(err).to.be.instanceOf(Error); expect(response).to.be.not.ok; done(); }); }); }); });