var sinon = require("sinon")
const { loadSuiteScriptModule } = require("netsumo");
var filePath = require("../app/userevent");
const FulfilmentUserEventModule = loadSuiteScriptModule(filePath)
test("It sets my custom field value to Hello World!", ()=>{
//create a new instance of N/record
var record = new NRecord();
//create a new item fulfilment record
var itemFulfilmentRecord = record.create({
type:record.Type.ITEM_FULFILLMENT,
id:1234,
defaultValues:{
shipmethod:{
value:1,
text:"DPD"
}
},
sublists:{
'package':[{
packageweight:10,
sys_id:1232342342434,
sys_parentid:89842893742837,
pkgWeightUnit:"lbs",
packagedescr:"some description",
shippingaddress: record.create({ // create a sublist subrecord (or use an existing Record reference)
type: record.Type.Address,
id: 1235,
defaultValues:{
addr1: 'Main street'
}
})
}]
}
})
//Instantiate our module, passing in our dependencies
const fulfilmentUserEvent = FulfilmentUserEventModule({
"N/record":record
})
//Execute the beforeSubmit method, passing in our context
fulfilmentUserEvent.beforeSubmit({
type:"create",
UserEventType:{
CREATE:"create",
EDIT:"edit"
},
newRecord:itemFulfilmentRecord
})
//Perform assertions
expect(itemFulfilmentRecord.getValue("custbody_a_custom_field")).toBe("Hello World!")
})