collabSupport/tests/resetVmPin.parse.test.js
jmcqueen 2ec2b7a486 Add /resetvmpin and /resetvppin with confirmation cards for Webex PIN resets.
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>
2026-07-31 16:34:09 -04:00

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);
});