test(cli): validate mentions handle

This commit is contained in:
Peter Steinberger
2025-12-26 12:34:16 +01:00
parent 3df7969b16
commit 6669ba9912
4 changed files with 49 additions and 5 deletions
+18 -1
View File
@@ -1,5 +1,5 @@
import { describe, expect, it } from 'vitest';
import { normalizeHandle } from '../src/lib/normalize-handle.js';
import { mentionsQueryFromUserOption, normalizeHandle } from '../src/lib/normalize-handle.js';
describe('normalizeHandle', () => {
it('accepts bare handle', () => {
@@ -22,3 +22,20 @@ describe('normalizeHandle', () => {
expect(normalizeHandle('a'.repeat(16))).toBeNull();
});
});
describe('mentionsQueryFromUserOption', () => {
it('returns null query when option omitted', () => {
expect(mentionsQueryFromUserOption(undefined)).toEqual({ query: null, error: null });
});
it('returns normalized @query for valid handle', () => {
expect(mentionsQueryFromUserOption('@steipete')).toEqual({ query: '@steipete', error: null });
expect(mentionsQueryFromUserOption(' steipete ')).toEqual({ query: '@steipete', error: null });
});
it('returns error for invalid handle', () => {
const result = mentionsQueryFromUserOption('@stei-pete');
expect(result.query).toBeNull();
expect(result.error).toMatch(/Invalid --user handle/);
});
});