@@ -67,6 +67,7 @@ func TestStatusSearchSQLAndListings(t *testing.T) {
6767 tests := [][]string {
6868 {"--config" , cfgPath , "status" },
6969 {"--config" , cfgPath , "search" , "panic" },
70+ {"--config" , cfgPath , "messages" , "--channel" , "general" , "--days" , "7" , "--all" },
7071 {"--config" , cfgPath , "sql" , "select count(*) as total from messages" },
7172 {"--config" , cfgPath , "members" , "list" },
7273 {"--config" , cfgPath , "channels" , "list" },
@@ -254,6 +255,8 @@ func TestRuntimeHelpersAndSubcommands(t *testing.T) {
254255 require .NoError (t , rt .runMembers ([]string {"show" , "u1" }))
255256 require .NoError (t , rt .runMembers ([]string {"search" , "pet" }))
256257 require .NoError (t , rt .runMembers ([]string {"list" }))
258+ rt .now = func () time.Time { return time .Date (2026 , 3 , 8 , 12 , 0 , 0 , 0 , time .UTC ) }
259+ require .NoError (t , rt .runMessages ([]string {"--channel" , "#general" , "--days" , "7" , "--all" }))
257260 require .NoError (t , rt .runChannels ([]string {"show" , "c1" }))
258261 require .NoError (t , rt .runChannels ([]string {"list" }))
259262 require .NoError (t , rt .runStatus (nil ))
@@ -284,6 +287,10 @@ func TestPrintJSONAndPlain(t *testing.T) {
284287 require .NoError (t , rt .print ([]store.SearchResult {{GuildID : "g1" , ChannelID : "c1" , AuthorID : "u1" , Content : "hello" }}))
285288 require .Contains (t , rt .stdout .(* bytes.Buffer ).String (), "hello" )
286289
290+ rt = & runtime {stdout : & bytes.Buffer {}, plain : true }
291+ require .NoError (t , rt .print ([]store.MessageRow {{GuildID : "g1" , ChannelID : "c1" , AuthorID : "u1" , MessageID : "m1" , Content : "hello" , CreatedAt : time .Unix (1 , 0 ).UTC ()}}))
292+ require .Contains (t , rt .stdout .(* bytes.Buffer ).String (), "m1" )
293+
287294 rt = & runtime {stdout : & bytes.Buffer {}}
288295 require .NoError (t , rt .print (struct { OK bool }{OK : true }))
289296 require .Contains (t , rt .stdout .(* bytes.Buffer ).String (), "\" OK\" : true" )
@@ -330,6 +337,9 @@ func TestCommandUsageErrors(t *testing.T) {
330337 rt := & runtime {}
331338 require .Equal (t , 2 , ExitCode (rt .runMembers (nil )))
332339 require .Equal (t , 2 , ExitCode (rt .runMembers ([]string {"nope" })))
340+ require .Equal (t , 2 , ExitCode (rt .runMessages (nil )))
341+ require .Equal (t , 2 , ExitCode (rt .runMessages ([]string {"--days" , "-1" })))
342+ require .Equal (t , 2 , ExitCode (rt .runMessages ([]string {"--days" , "1" , "--since" , "2026-03-01T00:00:00Z" })))
333343 require .Equal (t , 2 , ExitCode (rt .runChannels (nil )))
334344 require .Equal (t , 2 , ExitCode (rt .runStatus ([]string {"extra" })))
335345 require .NoError (t , (& runtime {stdout : & bytes.Buffer {}}).runDoctor (nil ))
0 commit comments