]> git.giacomolli.uk - onechat/blobdiff - subagent_run_test.go
Show the subagents in the clients
[onechat] / subagent_run_test.go
index 1fd6a4a898c32c92465c8b020d09885ad2b1f589..5caf0d886ef3a6855ef142f1ed28ca41efec46f9 100644 (file)
@@ -57,6 +57,13 @@ func TestSpawnRunsASubagentInTheBackground(t *testing.T) {
                "work: " + report,
                "reply: Noted.",
        }, test.Log(t))
+       require.Equal(t, Event{
+               Kind:   "work",
+               ID:     4,
+               Text:   report,
+               Source: name,
+               Status: subagentFinished,
+       }, test.events.LastEvent("work"))
 
        var first, second *ModelFakeCall
        for n := range server.Calls() {
@@ -131,7 +138,7 @@ func TestReportJoinsTheNextRequestOfARunningTurn(t *testing.T) {
 
        <-arrived
        report := subagentReport("GreenOtter", []string{"It is done."})
-       test.loop.Report(report, false)
+       test.loop.Report("GreenOtter", report, subagentFinished)
        close(release)
 
        test.events.WaitFor(t, "idle", 1)
@@ -146,7 +153,7 @@ func TestReportOfAStoppedSubagentStartsNoTurn(t *testing.T) {
        server := newModelFake(t)
        test := newTestTurnLoop(t, server)
        report := subagentReport("GreenOtter", []string{"failed: context canceled"})
-       test.loop.Report(report, true)
+       test.loop.Report("GreenOtter", report, subagentStopped)
 
        test.events.WaitFor(t, "work", 1)
        time.Sleep(50 * time.Millisecond)
@@ -178,6 +185,7 @@ func TestFullContextGivesAFailedReport(t *testing.T) {
                "work: [" + name + "]\nfailed: model call: HTTP 400: " + subagentTestFullContext + "\n\nFull chat: zoom(\"" + name + "\")",
                "reply: It failed.",
        }, test.Log(t))
+       require.Equal(t, subagentFailed, test.events.LastEvent("work").Status)
 }
 
 func TestSubagentHasItsOwnEffortAndNoSpawn(t *testing.T) {
@@ -361,6 +369,7 @@ func TestStopEndsASubagentAndItsCommand(t *testing.T) {
                "note: Stopped by the user: " + name + ".",
                "work: " + subagentReport(name, []string{"stopped"}),
        }, test.Log(t))
+       require.Equal(t, subagentStopped, test.events.LastEvent("work").Status)
 
        log, err := subagent.Show()
        require.NoError(t, err)