UNPKG

ns-suitescript-mocks

Version:

Collection of mocks that can be used to improve unit-tests for SuiteScript 2.0.

64 lines (60 loc) 1.7 kB
/** * Return a Netsuite File Module * * @classDescription File object * @constructor * @returns {N/Module} */ const fileModule = { name: '', fileType: '', contents: '', description: '', folder: 0, encoding: '', isIncative: false, isOnline: false, getNsObjectType: () => 'nlobjFile', getDescription: () => fileModule.description, getFolder: () => fileModule.folder, getId: () => fileModule.id, getName: () => fileModule.name, getSize: () => fileModule.contents.length, getType: () => fileModule.fileType, getURL: () => `https://system.eu2.netsuite.com/app/common/media/mediaitem.nl?${fileModule.id}`, getValue: () => fileModule.contents, isInactive: () => fileModule.isInactive, setDescription: (newDescription) => { fileModule.description = newDescription; }, setEncoding: (encodingType) => { fileModule.encoding = encodingType; }, getEncoding: () => fileModule.encoding, getContents: () => fileModule.contents, setFolder: (folderId) => { fileModule.folder = folderId; }, setIsInactive: (inactive) => { fileModule.isInactive = inactive; }, setIsOnline: (onlineValue) => { fileModule.isOnline = onlineValue; }, setName: (newName) => { fileModule.name = newName; }, save: () => global.random(1, 1000), }; const create = obj => Object.assign(fileModule, obj); const fileDelete = obj => obj.id; const Type = { CSV: 'csv', PDF: 'pdf' }; const Encoding = { UTF8: 'utf8', WINDOWS_1252: 'windows_1252', ISO_8859_1: 'iso', GB18030: 'china_simpl', SHIFT_JIS: 'japan', MAC_ROMAN: 'mac', GB2312: 'GB2312', BIG5: 'big', }; module.exports = { Type, Encoding, create, load: create, delete: fileDelete, };