layer-api
Version:
Node.js library, which provides a wrapper for the Layer Platform API
84 lines (67 loc) • 2.51 kB
JavaScript
/*globals describe it*/
;
var should = require('should');
var nock = require('nock');
var fixtures = require('./fixtures.json');
var utils = require('../lib/utils');
var LayerAPI = require('../lib');
var layerAPI = new LayerAPI({token: fixtures.token, appId: fixtures.appId});
describe('Announcements operations', function() {
describe('Sending an announcement', function() {
nock('https://api.layer.com')
.post('/apps/' + fixtures.appId + '/announcements')
.times(3)
.reply(202, fixtures.announcements.success);
it('should return a message object', function(done) {
var body = {
recipients: fixtures.announcements.success.recipients,
sender: fixtures.announcements.success.sender,
parts: fixtures.announcements.success.parts
};
layerAPI.announcements.send(body, function(err, res) {
should.not.exist(err);
should.exist(res);
res.status.should.be.eql(202);
res.body.should.have.properties(fixtures.announcements.success);
done(err);
});
});
it('with dedupe should return a message object', function(done) {
var body = {
recipients: fixtures.announcements.success.recipients,
sender: fixtures.announcements.success.sender,
parts: fixtures.announcements.success.parts
};
layerAPI.announcements.sendDedupe(fixtures.appId, body, function(err, res) {
should.not.exist(err);
should.exist(res);
res.status.should.be.eql(202);
res.body.should.have.properties(fixtures.announcements.success);
done(err);
});
});
it('with invalid dedupe should return a message object', function(done) {
var body = {
recipients: fixtures.announcements.success.recipients,
sender: fixtures.announcements.success.sender,
parts: fixtures.announcements.success.parts
};
layerAPI.announcements.sendDedupe(undefined, body, function(err, res) {
should.exist(err);
should.not.exist(res);
err.message.should.be.eql(utils.i18n.dedupe);
done();
});
});
});
describe('Sending an announcement by passing invalid body', function() {
it('should return an error', function(done) {
layerAPI.announcements.send(123, function(err, res) {
should.exist(err);
err.message.should.be.eql(utils.i18n.announcements.body);
should.not.exist(res);
done();
});
});
});
});