summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/commands/chatCommand.test.ts
diff options
context:
space:
mode:
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;