diff options
| author | Thomas Burnham <[email protected]> | 2025-07-24 00:48:52 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-24 04:48:52 +0000 |
| commit | b1e0fb157b4163001c47c2055912ad08fdc27084 (patch) | |
| tree | 3022dcf9e413b6b68d9c5cdc937a2ee0d621eac7 /packages/cli/src/ui/commands/chatCommand.test.ts | |
| parent | 107ce8afa33530dcf3ba13991caeb5f63e335745 (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.ts | 23 |
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; |
