store: store,
bot: bot,
}}
+
args, err := json.Marshal(ToolImageShowArguments{
Image: name,
Caption: "A red point.",
require.Equal(t, "A red point.", calls[0].params["caption"])
require.Equal(t, name, calls[0].params["photo_name"])
require.Equal(t, picture, calls[0].params["photo"])
- require.Empty(t, logs.String())
+ require.Equal(t, "<6>image sent\n", logs.String())
}
func TestImageShowRefusesUnknownNamesBeforeSending(t *testing.T) {
failure: true,
},
}
+
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
telegram := newTelegramFake(t)
return 0, ""
}
+
store := &ImageStore{dir: t.TempDir()}
picture := imageTestPNG(t, 3, 3)
name, err := store.Save(picture)
store: store,
bot: bot,
}
+
_, err = show.Show(t.Context(), name, "Caption")
if tc.failure {
require.Error(t, err)
modelWriteEvents(w, modelCompletedEvent([]any{modelMessageItem("Shown.")}, 100, 0, 5))
}
+
socket := daemonStartTestWithBot(t, server, bot)
terminal := terminalStartTestClient(t, socket)
terminal.WaitFor(t, "[connected to OneChat]")
Width: 6,
Height: 4,
}}
+
telegram.Add(TelegramUpdate{
UpdateID: 1,
Message: message,
})
+
terminal.WaitFor(t, "Shown.\n[done]")
require.Contains(t, terminal.Output(), "[result] [image "+name+"]")
require.Contains(t, terminal.Output(), filepath.Join(imageDirName, name))