19 lines
1.1 KiB
JavaScript
19 lines
1.1 KiB
JavaScript
const assert = require('node:assert/strict');
|
|
global.window = {};
|
|
require('../../static/js/contact-lifecycle.js');
|
|
const {escape, templateOptions, editPayload} = window.ContactLifecycle;
|
|
assert.equal(escape('<img src=x onerror="bad">'), '<img src=x onerror="bad">');
|
|
const templates = [
|
|
{id:1,category:'onboarding',customer_id:null},
|
|
{id:2,category:'onboarding',customer_id:12},
|
|
{id:3,category:'offboarding',customer_id:12},
|
|
{id:4,category:'onboarding',customer_id:13},
|
|
];
|
|
assert.deepEqual(templateOptions(templates, '12', 'onboarding').map(item => item.id), [1,2]);
|
|
assert.deepEqual(templateOptions(templates, '12', 'offboarding').map(item => item.id), [3]);
|
|
assert.deepEqual(templateOptions(templates, '', 'onboarding').map(item => item.id), [1]);
|
|
const update = {customer_id:12,event_date:'2026-11-20',lead_days:14,auto_create:true,parent_case_id:99,template_id:1,responsible_user_id:2};
|
|
assert.deepEqual(editPayload(update,true), {event_date:'2026-11-20',lead_days:14,auto_create:true});
|
|
assert.equal(editPayload(update,false), update);
|
|
console.log('Contact lifecycle escaping and customer/type template scoping passed');
|