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