Skip to content

seanlin816/nsmockup

 
 

Repository files navigation

nsmockup NPM version

Build Status Coveralls Status

Netsuite API Mockup

Required

  • node.js 4+

Install Dependency Status devDependency Status

    npm install nsmockup

Usage

nsmockup.init(opt, cb)

  • opt {records: [String], metadatas: [String]}
  • cb {Function}
    var opt = {
        records: {
            "customrecord_my-record": __dirname + '/data/customrecord_my-record.json'
        },
        metadatas: [
            __dirname + '/meta/metaData-customrecord_my-record.json'
        ]
    };
    nsmockup.init(opt, function(err) {
        if (err) console.log('ERROR', err);
        else console.log('start Netsuite API simulation')
    });

nsmockup.createSuitelet(cfg)

  • cfg {name: String, func: String, files: [String], params: Object}
    nsmockup.createSuitelet({
        name: 'my_suitelet',
        func: 'MySuitelet.main',
        files: [
            __dirname + '/lib/my-suitelet.js'
        ]
    });

nsmockup.createRESTlet(cfg)

  • cfg {name: String, func: String, files: [String], params: Object}
    nsmockup.createRESTlet({
        name: 'my_restlet',
        func: 'MyRestlet.main',
        files: [
            __dirname + '/lib/my-restlet.js'
        ]
    });

nsmockup.createSchedule(cfg)

  • cfg {name: String, func: String, files: [String], params: Object}
    nsmockup.createSchedule({
        name: 'my_schedule',
        func: 'MySchedule.main',
        files: [
            __dirname + '/lib/my-schedule.js'
        ]
    });

nsmockup.destroy(cb)

  • cb {Function}
    nsmockup.destroy(function(err) {
        if (err) console.log('ERROR', err);
        else console.log('finish Netsuite API simulation')
    });

Example with Mocha

'use strict';
var nsmockup = require('nsmockup');
describe('<Unit Test - Netsuite API Simulation>', function () {

    before(function (done) {
        // map record types
        let metadatas = [
                __dirname + '/record/meta/recordType-metaData-codeg.json',
                __dirname + '/record/meta/recordType-metaData-codeg_ids.json'
            ],
            records = {
                'customrecord_codeg': __dirname + '/record/data/recordType-codeg.json',
                'customrecord_codeg_ids': __dirname + '/record/data/recordType-codeg_ids.json'
            };

        // start database simulation
        nsmockup.init({records, metadatas}, done);
    });

    it('simple load lib and execute function', function (done) {
        nsmockup.createReslet({
            name: 'my_restlet',
            func: 'MyRestlet.main',
            files: [
                __dirname + '/lib/my-restlet.js'
            ]
         });
         MyRestlet.main();
    });

    after(function (done) {
        nsmockup.destroy(done);
    });
});

About

Netsuite API Mockup

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%