Chat-only commands reset voicemail mailbox and voice portal passcodes via telephony_config_write, with extension lookup and unit tests. Co-authored-by: Cursor <cursoragent@cursor.com>
28 lines
954 B
JavaScript
28 lines
954 B
JavaScript
// tests/resetVmPin.parse.test.js
|
|
|
|
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
|
|
import { parseVmPinTarget } from '../services/voicePin/parseVmPinTarget.js';
|
|
|
|
test('parseVmPinTarget recognizes email addresses', () => {
|
|
assert.deepEqual(parseVmPinTarget('mcqueenj@ae.com'), {
|
|
kind: 'email',
|
|
email: 'mcqueenj@ae.com',
|
|
});
|
|
});
|
|
|
|
test('parseVmPinTarget recognizes store numbers', () => {
|
|
assert.deepEqual(parseVmPinTarget('782'), { kind: 'store', storeNum: '782' });
|
|
assert.deepEqual(parseVmPinTarget('24'), { kind: 'store', storeNum: '24' });
|
|
});
|
|
|
|
test('parseVmPinTarget recognizes 5-digit extensions', () => {
|
|
assert.deepEqual(parseVmPinTarget('12345'), { kind: 'extension', extension: '12345' });
|
|
});
|
|
|
|
test('parseVmPinTarget rejects invalid tokens', () => {
|
|
assert.equal(parseVmPinTarget(''), null);
|
|
assert.equal(parseVmPinTarget('123456'), null);
|
|
assert.equal(parseVmPinTarget('not-a-target'), null);
|
|
});
|