UNPKG

nsmockup

Version:

Test your Suitescripts before deploying to NetSuite

257 lines (224 loc) 8.92 kB
'use strict'; var should = require('should'), parallel = require('mocha.parallel'), nsmockup = require('../../../'); var base = __dirname + '/../../_input-files/record-data'; var validateVendor = (vendors) => { should(vendors).have.length(1); let vendor = vendors[0]; should(vendor.getValue('name')).be.equal('Japojão Legal'); should(vendor.getValue('name', 'subsidiary')).be.equal('São Paulo'); }; /** * Test Suites */ describe('<Unit Test - Netsuite Search API>', function () { this.timeout(5000); before(done => { let metadata = [ ':vendor', ':subsidiary' ], records = { 'subsidiary': `${base}/data/subsidiary.json`, 'vendor': `${base}/data/user.json` }, opts = {metadata, records}; nsmockup.init(opts, done); }); parallel('SuiteScript API - Search Utils - "operator" - NUMBER:', () => { it('operator "any": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'any', [300]] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "between": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'between', 200, 400] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "equalto": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'equalto', 300] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "greaterthan": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'greaterthan', 200] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "greaterthanorequalto": vendor by fxbalance', done => { [200, 300].forEach(value => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'greaterthanorequalto', value] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); }); return done(); }); it('operator "lessthan": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'lessthan', 400] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "lessthanorequalto": vendor by fxbalance', done => { [400, 300].forEach(value => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'lessthanorequalto', value] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); }); return done(); }); it('operator "isnotempty": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'isnotempty', '@NONE@'] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "notbetween": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'notbetween', 200, 250] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "notequalto": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'notequalto', 299] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "notgreaterthan": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'notgreaterthan', 400] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "notgreaterthanorequalto": vendor by fxbalance', done => { [400, 300].forEach(value => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'notgreaterthanorequalto', value] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); }); return done(); }); it('operator "notlessthan": vendor by fxbalance', done => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'notlessthan', 200] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); return done(); }); it('operator "notlessthanorequalto": vendor by fxbalance', done => { [200, 300].forEach(value => { let recType = 'vendor', columns = [ ['name'], ['name', 'subsidiary'] ].map(c => new nlobjSearchColumn(c[0], c[1])), filters = [ ['fxbalance', null, 'notlessthanorequalto', value] ]; let vendors = nlapiSearchRecord(recType, null, filters, columns); validateVendor(vendors); }); return done(); }); }); after(done => { nsmockup.destroy(done); }); });