UNPKG

docparse-supplier-nge

Version:

process ngrid electric utility bill data for use in the docparse system

85 lines (74 loc) 2.29 kB
var inspect = require('eyespect').inspector(); var should = require('should'); var sinon = require('sinon'); var handleError = require('../lib/upload/handleError'); var Upload = require('docparse-upload'); describe('Handle Error Test', function () { var data, sandbox; beforeEach(function(done) { data = {}; sandbox = sinon.sandbox.create(); var upload = { text_pages: ['foo page 1', 'bar page 2'], warnings: [] }; data.upload = upload; data.fixed = false; data.error = 'foo error', data.pageIndex = 0; upload.warnings.length.should.eql(0); upload.save = function (cb) { cb(); }; done(); }); afterEach(function() { sandbox.restore(); }); it('should reject adding errors when upload parameter is not set', function (done) { delete data.upload; handleError(data, function (err, reply) { should.exist(err, 'error handling error parsing upload: ' + err); err.length.should.eql(1); var error = err[0]; error.key.should.eql('upload'); done(); }); }); it('should reject adding errors when pageIndex parameter is not set', function (done) { delete data.pageIndex; handleError(data, function (err, reply) { should.exist(err, 'error handling error parsing upload: ' + err); err.length.should.eql(1); var error = err[0]; error.key.should.eql('pageIndex'); done(); }); }); it('should reject adding errors when error parameter is not set', function (done) { delete data.error; handleError(data, function (err, reply) { should.exist(err, 'error handling error parsing upload: ' + err); err.length.should.eql(1); var error = err[0]; error.key.should.eql('error'); done(); }); }); it('should add warning', function (done) { sandbox.stub(Upload, 'findOne', function (query, cb) { cb(); }); sandbox.stub(Upload.prototype, 'save', function (cb) { this.validate(cb); }); data.upload.save(function (err, reply) { }); handleError(data, function (err, upload) { should.not.exist(err, 'error handling error parsing upload: ' + err); should.exist(upload); upload.warnings.length.should.eql(1); done(); }); }); });