request(app)
.post('/api/reports?access_token=' + localMock.user.token())
.attach('content', appDir + '/api/report/fixtures/minimal.pdf')
+ .expect('Content-Type', /json/)
.expect(200)
.end(function (err, res) {
if (err) return done(err);
.end(function (err, res) {
if (err) return done(err);
Report.findById(res.body.id, function (err, report) {
+ report.isGenerated.should.be.false();
var file = appDir + '/components/worker/generator/input/' + report.uuid + '/minimal.pdf';
var ex;
try {
});
});
+ });
+ it('should handle multiple signature files', function (done) {
+ request(app)
+ .post('/api/reports?access_token=' + localMock.user.token())
+ .attach('content', appDir + '/api/report/fixtures/minimal.pdf')
+ .attach('signatures', appDir + '/api/report/fixtures/minimal.pdf')
+ .attach('signatures', appDir + '/api/report/fixtures/minimal.pdf')
+ .expect(200)
+ .end(function (err, res) {
+ if (err) return done(err);
+ Report.findById(res.body.id, function (err, report) {
+ if (err) return done(err);
+ report.signatures.length.should.be.exactly(2);
+ done();
+ });
+ });
});
+});
+
+describe('DELETE /api/reports', function () {
+ beforeEach(localMock.beforeEach);
+
+ afterEach(localMock.afterEach);
+
+ it('should be unauthorized to guest users', function (done) {
+ request(app)
+ .delete('/api/reports')
+ .expect(401, done);
+ });
+
+ it('should be forbidden to users', function (done) {
+ request(app)
+ .delete('/api/reports?access_token=' + localMock.user.token())
+ .expect(403, done);
+ });
+
+ it('should be allowed to administrators', function (done) {
+ localMock.user.admin(function () {
+ request(app)
+ .delete('/api/reports?access_token=' + localMock.user.token())
+ .expect(204, done);
+
+ });
+ });
});
\ No newline at end of file