nsmockup
Version:
Test your Suitescripts before deploying to NetSuite
82 lines (70 loc) • 2.53 kB
JavaScript
;
var should = require('should'),
parallel = require('mocha.parallel'),
nsmockup = require('../../');
/**
* Test Suites
*/
describe('<Unit Test - Netsuite Date API>', function () {
before(done => {
let localPrefs = {
dateFormat: 'DD-MM-YYYY',
timeFormat: 'HH:mm:ss'
},
opts = {
general: localPrefs
};
nsmockup.init(opts, done);
});
parallel('SuiteScript API - nlapiAddMonths:', () => {
let date = new Date('2015-09-15T08:58:12+0000');
it('add-months +1 month', done => {
let add = nlapiAddMonths(date, 1);
should(add).have.instanceOf(Date);
should(add.toJSON()).be.equal('2015-10-15T08:58:12.000Z', `Wrong month ${date.toJSON()} (+1 month) -> ${add.toJSON()}`);
return done();
});
it('add-months -7 months', done => {
let add = nlapiAddMonths(date, -7);
should(add).have.instanceOf(Date);
should(add.toJSON()).be.equal('2015-02-15T08:58:12.000Z', `Wrong month ${date.toJSON()} (-7 months) -> ${add.toJSON()}`);
return done();
});
it('add-months + 330 months', done => {
let add = nlapiAddMonths(date, 330);
should(add).have.instanceOf(Date);
should(add.toJSON()).be.equal('2043-03-15T08:58:12.000Z', `Wrong month ${date.toJSON()} (+330 months) -> ${add.toJSON()}`);
return done();
});
it('add-months missing date', done => {
try {
nlapiAddMonths();
return done('missing date');
} catch (e) {
should(e).have.property('code', 'SSS_TYPE_DATE_REQD');
return done();
}
});
it('add-months missing days', done => {
try {
nlapiAddMonths(date);
return done('missing months');
} catch (e) {
should(e).have.property('code', 'SSS_TYPE_MONTHS_REQD');
return done();
}
});
it('add-months invalid format', done => {
try {
nlapiAddMonths('10-10-2015', 'japo');
return done('invalid format');
} catch (e) {
should(e).have.property('code', 'SSS_INVALID_MONTHS');
return done();
}
});
});
after(done => {
nsmockup.destroy(done);
});
});