/
update-throttle.test.js
51 lines (42 loc) · 1.22 KB
/
update-throttle.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
'use strict';
var _ = require('lodash');
var request = require('supertest');
require('should');
describe('Throttle', function ( ) {
var self = this;
var api = require('../lib/api/');
before(function (done) {
process.env.API_SECRET = 'this is my long pass phrase';
self.env = require('../env')();
this.wares = require('../lib/middleware/')(self.env);
self.app = require('express')();
self.app.enable('api');
require('../lib/bootevent')(self.env).boot(function booted(ctx) {
self.ctx = ctx;
self.app.use('/api', api(self.env, ctx));
done();
});
});
after(function () {
delete process.env.API_SECRET;
});
it('only update once when there are multiple posts', function (done) {
//if the data-loaded event is triggered more than once the test will fail
self.ctx.bus.on('data-loaded', function dataWasLoaded ( ) {
done()
});
function post () {
request(self.app)
.post('/api/entries/')
.set('api-secret', self.env.api_secret || '')
.send({type: 'sgv', sgv: 100, date: Date.now()})
.expect(200)
.end(function(err) {
if (err) {
done(err);
}
});
}
_.times(10, post);
});
});