]> git.giacomolli.uk - onechat/blobdiff - daemon_test.go
Split long replies between Markdown blocks
[onechat] / daemon_test.go
index fe409293d85f50638eeb7cc017942e0e19488e01..47fb9a5efa072c2bb8313486f5de68dd29f458fc 100644 (file)
@@ -154,10 +154,15 @@ func TestEventText(t *testing.T) {
                        text:  "Done.",
                },
                {
                        text:  "Done.",
                },
                {
-                       name:  "user message not shown",
-                       event: Event{Kind: "user", Text: "typed"},
+                       name:  "own user message not shown",
+                       event: Event{Kind: "user", Text: "typed", Source: terminalSource},
                        text:  "",
                },
                        text:  "",
                },
+               {
+                       name:  "user message of another source marked",
+                       event: Event{Kind: "user", Text: "from the phone", Source: "telegram"},
+                       text:  "[telegram] from the phone",
+               },
                {
                        name:  "long result cut",
                        event: Event{Kind: "echo", Text: strings.Repeat("line\n", 12)},
                {
                        name:  "long result cut",
                        event: Event{Kind: "echo", Text: strings.Repeat("line\n", 12)},
@@ -237,6 +242,13 @@ func (b *syncBuffer) String() string {
 func startTestDaemon(t *testing.T, server *fakeResponses) string {
        t.Helper()
 
 func startTestDaemon(t *testing.T, server *fakeResponses) string {
        t.Helper()
 
+       return startTestDaemonWithBot(t, server, nil)
+}
+
+// startTestDaemonWithBot is startTestDaemon with bot, which can be nil.
+func startTestDaemonWithBot(t *testing.T, server *fakeResponses, bot *telegramBot) string {
+       t.Helper()
+
        dir := t.TempDir()
        agent, err := openAgent(filepath.Join(dir, agentDirName))
        require.NoError(t, err)
        dir := t.TempDir()
        agent, err := openAgent(filepath.Join(dir, agentDirName))
        require.NoError(t, err)
@@ -254,7 +266,7 @@ func startTestDaemon(t *testing.T, server *fakeResponses) string {
        ctx, cancel := context.WithCancel(t.Context())
        done := make(chan error)
        go func() {
        ctx, cancel := context.WithCancel(t.Context())
        done := make(chan error)
        go func() {
-               done <- serveAgent(ctx, listener, func(notify func(Event)) (*loop, error) {
+               done <- serveAgent(ctx, listener, bot, func(notify func(Event)) (*loop, error) {
                        return newLoop(agent, memory, client, clock.Now, notify)
                })
        }()
                        return newLoop(agent, memory, client, clock.Now, notify)
                })
        }()