Unable to test Netsuite scripts with Jest
I’m having a problem testing my netsuite scripts using Jest because of how netsuite scripts import other files.
In our SDF project, We have several scripts, that are our “main logic” – our script deployments, And we also have some util scripts and configuration files, that are used by our script deployments.
We started working on unit testing with jest (suitecloud new project added jest to the project), and discovered that when running the tests on our scripts, Jest doesn’t recognize the imported util scripts and config files, as it does not support such imports with define([<path_to_file>], (<reference_to_file)).
We tried using other JS forms of import, such as:
const <refrense_to_file> = require(“<path_to_file>”)
import <refrense_to_file> from “<path_to_file>”
and they work perfectly with Jest, but when running the scripts in Netsuite itself, we got those error (in order of the examples above)
type”:”error.SuiteScriptModuleLoaderError”,”name”:”INCORRECT_SUITESCRIPT_CONFIGURATION”,”message”:”Incorrect SuiteScript configuration for module: ../Config/Config.js”,”stack”:[“at /SuiteScripts/Utils/Util.js:19:57”]}
type”:”error.SuiteScriptModuleLoaderError”,”name”:”SyntaxError: /SuiteScripts/Utils/Util.js:6:0 Expected an operand but found import\nimport Config from ‘../Config/config.js’;\n^\n”,”message”:””,”stack”:}
does anyone know how to make both jest (or any other unit testing) and Netsuite work sumultaneously?