@incdevco/framework
Version:
node.js lambda framework
137 lines (91 loc) • 2.47 kB
JavaScript
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');
});
});
});