UNPKG

@incdevco/framework

Version:
137 lines (91 loc) 2.47 kB
var Expect = require('chai').expect; var Mock = require('../mock'); var EventLog = require('./index'); describe('event-log', function () { 'use strict'; var eventLog, mock; beforeEach(function () { eventLog = new EventLog(); mock = new Mock(); }); afterEach(function () { mock.restore(); }); describe('emit', function() { it('should', function (done) { var data = { key: 'value' }; var expected = 'expected'; var name = 'name'; mock.mock(eventLog.firehose) .expect('putRecord') .with({ DeliveryStreamName: 'event-log', Record: { Data: JSON.stringify({ name: name, data: data }) } }) .willReturnAwsPromiseResolve(expected); eventLog.emit(name, data) .then(function (result) { Expect(result).to.equal(expected, 'result'); return mock.done(done); }) .catch(done); }); }); describe('emitBatch', function() { it('should', function (done) { var data = { key: 'value' }; var expected = 'expected'; var name = 'name'; mock.mock(eventLog.firehose) .expect('putRecordBatch') .with({ DeliveryStreamName: 'event-log', Records: [ { Data: JSON.stringify({ name: name, data: data }) } ] }) .willReturnAwsPromiseResolve(expected); eventLog.emitBatch([ { name: name, data: data } ]) .then(function (result) { Expect(result).to.equal(expected, 'result'); return mock.done(done); }) .catch(done); }); }); describe('eventToFirehoseRecord', function() { it('should', function () { var data = { key: 'value' }; var name = 'name'; var expected = { Data: JSON.stringify({ name: name, data: data }) }; var result = eventLog.eventToFirehoseRecord(name, data); Expect(result).to.deep.equal(expected, 'result'); }); }); });