UNPKG

nsmockup

Version:

Test your Suitescripts before deploying to NetSuite

162 lines (142 loc) 5.41 kB
'use strict'; var should = require('should'), nsmockup = require('../../'); var base = __dirname + '/../_input-files/record-data'; /** * Test Suites */ describe('<Unit Test - Netsuite Field API>', function () { this.timeout(5000); before(done => { let metadata = [ base + '/meta/customrecord_codeg.json', base + '/meta/customrecord_codeg_ids.json' ], records = { 'customrecord_codeg': base + '/data/customrecord_codeg.json', 'customrecord_codeg_ids': base + '/data/customrecord_codeg_ids.json' }; nsmockup.init({records, metadata}, done); }); describe('SuiteScript API - nlapiSubmitField:', () => { let recType = 'customrecord_codeg'; it('submit array fields', done => { let fields = [ 'custrecord_type_id.custrecord_id_title_id', 'custrecord_type_id.custrecord_id_code_id', 'custrecord_code_id' ]; let code = nlapiLookupField(recType, 2, fields); should(code).have.instanceOf(Object); should(code).have.property('custrecord_type_id.custrecord_id_title_id', 'japo 219'); should(code).have.property('custrecord_type_id.custrecord_id_code_id', '219'); should(code).have.property('custrecord_code_id', '14'); let values = [ 'legal 123', '342', '666' ]; nlapiSubmitField(recType, 2, fields[2], values[2]); code = nlapiLookupField(recType, 2, fields); should(code).have.instanceOf(Object); should(code).have.property('custrecord_type_id.custrecord_id_title_id', 'japo 219'); should(code).have.property('custrecord_type_id.custrecord_id_code_id', '219'); should(code).have.property('custrecord_code_id', values[2]); return done(); }); it('submit missing record type', done => { try { nlapiSubmitField(); return done('missing record type '); } catch (e) { should(e).have.property('code', 'SSS_TYPE_ARG_REQD'); return done(); } }); it('submit missing id', done => { try { nlapiSubmitField(recType); return done('missing id '); } catch (e) { should(e).have.property('code', 'SSS_ID_ARG_REQD'); return done(); } }); it('submit missing fields', done => { try { nlapiSubmitField(recType, 5); return done('missing id '); } catch (e) { should(e).have.property('code', 'SSS_FIELDS_ARG_REQD'); return done(); } }); it('submit missing fields - []', done => { try { nlapiSubmitField(recType, 5, []); return done('missing id '); } catch (e) { should(e).have.property('code', 'SSS_FIELDS_ARG_REQD'); return done(); } }); it('submit missing values', done => { try { nlapiSubmitField(recType, 5, 'opa'); return done('missing id '); } catch (e) { should(e).have.property('code', 'SSS_VALUES_ARG_REQD'); return done(); } }); it('submit missing values - []', done => { try { nlapiSubmitField(recType, 5, 'opa', []); return done('missing id '); } catch (e) { should(e).have.property('code', 'SSS_VALUES_ARG_REQD'); return done(); } }); it('submit invalid record type', done => { try { let invalidRecType = recType + 'japois'; nlapiSubmitField(invalidRecType, 1, 'custrecord_code_id', 'opa', 'legal'); return done('invalid record type: ' + invalidRecType); } catch (e) { should(e).have.property('code', 'SSS_INVALID_RECORD_TYPE'); return done(); } }); it('submit invalid id - {}', done => { try { nlapiSubmitField(recType, {}, 'opa', 'legal'); return done('invalid id '); } catch (e) { should(e).have.property('code', 'SSS_INVALID_INTERNAL_ID'); return done(); } }); it('submit invalid id - "opa"', done => { try { nlapiSubmitField(recType, 'opa', 'opa', 'legal'); return done('invalid id '); } catch (e) { should(e).have.property('code', 'SSS_INVALID_INTERNAL_ID'); return done(); } }); it('submit invalid id - 10000', done => { try { nlapiSubmitField(recType, '10000', 'custrecord_code_id', '14'); return done('invalid id '); } catch (e) { should(e).have.property('code', 'SSS_INVALID_INTERNAL_ID'); return done(); } }); }); after(done => { nsmockup.destroy(done); }); });