summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/commands/chatCommand.test.ts
diff options
context:
space:
mode:
authorThomas Burnham <[email protected]>2025-07-24 00:48:52 -0400
committerGitHub <[email protected]>2025-07-24 04:48:52 +0000
commitb1e0fb157b4163001c47c2055912ad08fdc27084 (patch)
tree3022dcf9e413b6b68d9c5cdc937a2ee0d621eac7 /packages/cli/src/ui/commands/chatCommand.test.ts
parent107ce8afa33530dcf3ba13991caeb5f63e335745 (diff)
feat(cli): display timestamp in /chat list (#4733)
Co-authored-by: Jacob Richman <[email protected]>
Diffstat (limited to 'packages/cli/src/ui/commands/chatCommand.test.ts')
-rw-r--r--packages/cli/src/ui/commands/chatCommand.test.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/cli/src/ui/commands/chatCommand.test.ts b/packages/cli/src/ui/commands/chatCommand.test.ts
index 5318c330..0c98239a 100644
--- a/packages/cli/src/ui/commands/chatCommand.test.ts
+++ b/packages/cli/src/ui/commands/chatCommand.test.ts
@@ -131,11 +131,34 @@ describe('chatCommand', () => {
const content = result?.content ?? '';
expect(result?.type).toBe('message');
expect(content).toContain('List of saved conversations:');
+ const isoDate = date
+ .toISOString()
+ .match(/(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})/);
+ const formattedDate = isoDate ? `${isoDate[1]} ${isoDate[2]}` : '';
+ expect(content).toContain(formattedDate);
const index1 = content.indexOf('- \u001b[36mtest1\u001b[0m');
const index2 = content.indexOf('- \u001b[36mtest2\u001b[0m');
expect(index1).toBeGreaterThanOrEqual(0);
expect(index2).toBeGreaterThan(index1);
});
+
+ it('should handle invalid date formats gracefully', async () => {
+ const fakeFiles = ['checkpoint-baddate.json'];
+ const badDate = {
+ toISOString: () => 'an-invalid-date-string',
+ } as Date;
+
+ mockFs.readdir.mockResolvedValue(fakeFiles);
+ mockFs.stat.mockResolvedValue({ mtime: badDate } as Stats);
+
+ const result = (await listCommand?.action?.(
+ mockContext,
+ '',
+ )) as MessageActionReturn;
+
+ const content = result?.content ?? '';
+ expect(content).toContain('(saved on Invalid Date)');
+ });
});
describe('save subcommand', () => {
let saveCommand: SlashCommand;