'use strict'; const test = require('node:test'); const assert = require('node:assert/strict'); const { createEscalation } = require('../src/escalation'); const esc = createEscalation({ client: { sendPrivateNote: async () => {}, assignUser: async () => {} } }); test('escalation: three consecutive fails -> level 2', () => { assert.equal(esc.shouldEscalate({ messagesProcessed: 3 }, 'policy_faq', 'high', 3, 2).level, 2); }); test('escalation: low KB with no hits -> level 1', () => { assert.equal(esc.shouldEscalate({ messagesProcessed: 1 }, 'policy_faq', 'low', 0, 0).level, 1); }); test('escalation: healthy -> level 0', () => { assert.equal(esc.shouldEscalate({ messagesProcessed: 1 }, 'policy_faq', 'high', 0, 3).level, 0); }); test('escalation: appends localized human option', () => { const out = esc.appendEscalationOption('您好', '您好,订单怎么查'); assert.match(out, /转人工/); });