fix(mailbox): reject invalid bot toggle values (#80)

Co-authored-by: rissrice2105-agent <rissrice2105-agent@users.noreply.github.com>
This commit is contained in:
RissRIce 2026-07-07 06:40:35 -06:00 committed by GitHub
parent ad76e7fa16
commit ee06082ce1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 43 additions and 1 deletions

View file

@ -230,3 +230,30 @@ func TestRunBotListRejectsInvalidLimit(t *testing.T) {
}
}
}
func TestRunBotFlagSeenRejectInvalidToggle(t *testing.T) {
tr := seeded()
c := paidClient(tr)
for _, args := range [][]string{
{"flag", Inbox, "1", "maybe"},
{"seen", Inbox, "1", "maybe"},
} {
var out bytes.Buffer
err := RunBot(context.Background(), c, args, strings.NewReader(""), &out)
if err == nil {
t.Fatalf("RunBot(%v) expected error", args)
}
if !strings.Contains(out.String(), "use on/off") {
t.Fatalf("RunBot(%v) output = %q, want on/off error", args, out.String())
}
}
msg, ok, err := tr.ReadMessage(context.Background(), Inbox, 1)
if err != nil || !ok {
t.Fatalf("ReadMessage: ok=%v err=%v", ok, err)
}
if msg.Flagged || msg.Seen {
t.Fatalf("invalid flag/seen toggles should not mutate message: %+v", msg.MessageSummary)
}
}