]> git.giacomolli.uk - onechat/blobdiff - agent_test.go
Revert compaction view block messages
[onechat] / agent_test.go
index 775e2fe454dc23a8df38cf17bcbc16e21f2dbcb3..be74b402186a1a806eeb02e2faa59c446990deb4 100644 (file)
@@ -100,12 +100,30 @@ func TestAgentPromptReadsTheInstructionsEachTime(t *testing.T) {
 
        text, err := agent.Prompt()
        require.NoError(t, err)
-       require.Equal(t, prompt(agent.config.Name, ""), text)
+       require.Equal(t, prompt(agent.config.Name, filepath.Join(dir, agentInstructionsFileName), ""), text)
 
        require.NoError(t, os.WriteFile(filepath.Join(dir, agentInstructionsFileName), []byte("I am Lena.\n"), 0o600))
+
        text, err = agent.Prompt()
        require.NoError(t, err)
-       require.Equal(t, prompt(agent.config.Name, "I am Lena."), text)
+       require.Equal(t, prompt(agent.config.Name, filepath.Join(dir, agentInstructionsFileName), "I am Lena."), text)
+}
+
+func TestAgentPromptUsesAnAbsoluteInstructionsPath(t *testing.T) {
+       dir := t.TempDir()
+       workdir, err := os.Getwd()
+       require.NoError(t, err)
+
+       relative, err := filepath.Rel(workdir, dir)
+       require.NoError(t, err)
+       require.False(t, filepath.IsAbs(relative))
+
+       agent, err := openAgent(relative)
+       require.NoError(t, err)
+
+       text, err := agent.Prompt()
+       require.NoError(t, err)
+       require.Contains(t, text, "The user's instructions live in the file "+filepath.Join(dir, agentInstructionsFileName)+",")
 }
 
 // agentWriteTestConfig writes config as the config.json of the agent in dir.