docparse-scraper-add
Version:
Setup to process a scraper data add api request
105 lines (101 loc) • 2.96 kB
JavaScript
var inspect = require('eyespect').inspector()
var should = require('should')
var setup = require('../index')
describe('Scraper process data general setup test', function() {
var supplierID = 'fooSupplierID'
var loginID = 'fooCustomerID'
var data
var getSupplier = function (data, cb) {
return cb(null, {
_id: 'fooSupplierID'
})
}
beforeEach(function () {
data = {
payload: {
accountNumber: 'dummy account number',
supplierCode: 'NGE',
billNumber: 'dummy bill number',
supplierID: supplierID,
loginID: loginID
},
supplierCode: 'NGE',
getSupplier: getSupplier,
db: {}
}
})
this.timeout(2*1000)
this.slow(1*1000)
it('should reject requests missing "payload" field', function(done) {
delete data.payload
setup(data, function (err, reply) {
should.exist(err)
err.error[0].key.should.eql('payload')
done()
})
})
it('should reject requests missing "supplierCode" field', function(done) {
delete data.supplierCode
setup(data, function (err, reply) {
should.exist(err)
err.error[0].key.should.eql('supplierCode')
done()
})
})
it('should reject requests missing "db" field', function(done) {
delete data.db
setup(data, function (err, reply) {
should.exist(err)
err.error[0].key.should.eql('db')
done()
})
})
it('should reject requests missing "accountNumber" field in payload', function(done) {
delete data.payload.accountNumber
setup(data, function (err, reply) {
should.exist(err)
err.error[0].key.should.eql('accountNumber')
done()
})
})
it('should reject request where supplier module cannot be loaded', function(done) {
data.supplierCode = 'FGS'
setup(data, function (err, reply) {
should.exist(err)
err.should.eql('failed to get supplier module with name: docparse-supplier-'+data.supplierCode.toLowerCase())
done()
})
})
it('should accept HES requests', function(done) {
data.supplierCode = 'HES'
setup(data, function (err, reply) {
should.not.exist(err)
reply.should.be.a('function', 'we should get a function')
done()
})
})
it('should accept NST requests', function(done) {
data.supplierCode = 'NST'
setup(data, function (err, reply) {
should.not.exist(err)
reply.should.be.a('function', 'we should get a function')
done()
})
})
it('should accept NGE requests', function(done) {
data.supplierCode = 'NGE'
setup(data, function (err, reply) {
should.not.exist(err)
reply.should.be.a('function', 'we should get a function')
done()
})
})
it('should accept NGA requests', function(done) {
data.supplierCode = 'NGA'
setup(data, function (err, reply) {
should.not.exist(err)
reply.should.be.a('function', 'we should get a function')
done()
})
})
})