UNPKG

docparse-upload-process

Version:

process upload api request for the docparse server

135 lines (125 loc) 3.85 kB
var inspect = require('eyespect').inspector(); var Upload = require('docparse-upload'); var mongoose = require('mongoose'); var should = require('should'); var assert = require('assert'); var exists = require('../lib/exists'); var userInUpload = require('../lib/userInUpload'); var createUser = require('./createUser'); describe('exists test', function(done) { var user; before(function (done) { mongoose.disconnect(function() { mongoose.connect('mongodb://localhost/test', function (err, reply) { Upload.remove({}, function (err, reply) { should.not.exist(err, 'error removing existing bills: ' + err); createUser(function (err, reply) { should.not.exist(err, 'error creating test user: ' + err); should.exist(reply, 'failed to create test user'); user = reply; done(); }); }); }); }); }); it('should not find upload with dummy hash value', function(done) { var data = { hash: 'dummy hash value' } exists(data, function (err, reply) { should.not.exist(err); assert.ok(!reply,'upload should not yet exist'); done(); }); }); it('should find existing upload', function(done) { var data = { hash: 'dummy hash value' } createUpload(function (err, reply) { should.not.exist(err); exists(data, function (err, reply) { should.not.exist(err); assert.ok(reply,'upload should exist now'); done(); }); }); }); it('user should not be in new upload', function(done) { var data = { hash: 'dummy hash value' } Upload.remove({}, function (err) { should.not.exist(err); createUpload(function (err, upload) { should.not.exist(err); should.exist(upload); should.exist(user); exists(data, function (err, reply) { should.not.exist(err); assert.ok(reply,'upload should exist now'); data.user = user; data.upload = upload; userInUpload(data, function (err, reply) { should.not.exist(err); assert.ok(!reply, 'user should not be in upload now'); done(); }); }); }); }); }); it('user should be in upload', function(done) { var data = { hash: 'dummy hash value' } Upload.remove({}, function (err) { should.not.exist(err); createUpload(function (err, upload) { should.not.exist(err); should.exist(upload); exists(data, function (err, upload) { should.not.exist(err); assert.ok(upload,'upload should exist now'); upload.users.push(user._id); upload.user_details = {}; upload.user_details[user._id] = { filename: 'dummy filename' } upload.save(function (err, upload) { data.user = user; data.upload = upload; userInUpload(data, function (err, reply) { should.not.exist(err); assert.ok(reply, 'user should be in upload now'); done(); }); }); }); }); }); }); // cleanup after(function(done) { Upload.remove({}, function(err, reply) { mongoose.disconnect(done); }); }); }); function createUpload(cb) { var data = { supplier_code: 'FGE', hash: 'dummy hash value' } var upload = new Upload(); upload.supplier_code = data.supplier_code; upload.hash = data.hash; upload.status = 'waiting for ocr'; upload.supplier = mongoose.Types.ObjectId('4edd40c86762e0fb12000003'); upload.save(function (err, reply) { should.not.exist(err, 'error saving upload: ' + err); should.exist(reply, 'no upload returned from save callback'); cb(null, reply); }); }