]> git.giacomolli.uk - onechat/blobdiff - daemon_start_helper_test.go
Parse cron expressions and find the next time
[onechat] / daemon_start_helper_test.go
index cf1fbf6a507e8bde0923646e679150f699daa209..baa527b9d7637851d0db2e0ebc67698a678bd6d1 100644 (file)
@@ -8,11 +8,22 @@ import (
        "github.com/stretchr/testify/require"
 )
 
-// daemonStartTestWithBot is daemonStartTest with bot, which can be nil. WhatsApp
-// is not linked.
+// daemonStartTestWithBot is daemonStartTest with bot, which can be nil.
+// WhatsApp is not linked.
 func daemonStartTestWithBot(t *testing.T, server *ModelFake, bot *TelegramBot) string {
        t.Helper()
 
+       whatsapp, _, _ := whatsappStartTest(t, t.TempDir(), newTestClock())
+       socket, _ := daemonStartTestWithWhatsApp(t, server, bot, whatsapp)
+
+       return socket
+}
+
+// daemonStartTestWithWhatsApp is daemonStartTestWithBot with whatsapp. It also
+// returns the memory of the agent.
+func daemonStartTestWithWhatsApp(t *testing.T, server *ModelFake, bot *TelegramBot, whatsapp *WhatsApp) (string, *Memory) {
+       t.Helper()
+
        dir := t.TempDir()
        agent, err := openAgent(filepath.Join(dir, daemonAgentDirName))
        require.NoError(t, err)
@@ -22,7 +33,6 @@ func daemonStartTestWithBot(t *testing.T, server *ModelFake, bot *TelegramBot) s
        memory, err := openMemory(t.Context(), agent.dir, clock.Now, newFakeSummarizer())
        require.NoError(t, err)
 
-       whatsapp, _ := whatsappStartTest(t, dir)
        socket := filepath.Join(dir, socketFileName)
        listener, err := daemonListenSocket(socket)
        require.NoError(t, err)
@@ -32,7 +42,7 @@ func daemonStartTestWithBot(t *testing.T, server *ModelFake, bot *TelegramBot) s
        done := make(chan error)
        go func() {
                done <- daemonServe(ctx, listener, bot, whatsapp, func(notify func(Event)) (*TurnLoop, error) {
-                       return newTurnLoop(agent, memory, newTestSubagents(t), client, clock.Now, notify)
+                       return newTurnLoop(agent, memory, newTestSubagents(t), whatsapp, client, clock.Now, notify)
                })
        }()
 
@@ -42,5 +52,5 @@ func daemonStartTestWithBot(t *testing.T, server *ModelFake, bot *TelegramBot) s
                require.NoError(t, memory.Close())
        })
 
-       return socket
+       return socket, memory
 }