Skip to content

Commit c6547e5

Browse files
committed
tests
1 parent d3b0602 commit c6547e5

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

test/eca/features/prompt_test.clj

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,25 @@
2525
(is (string/includes? result "<repoMap description=\"Workspaces structure in a tree view, spaces represent file hierarchy\" >TREE</repoMap>"))
2626
(is (string/includes? result "<resource uri=\"custom://my-resource\">some-cool-content</resource>"))
2727
(is (string/includes? result "</contexts>"))
28+
(is (string? result))))
29+
(testing "Should create instructions with rules, contexts, and plan behavior"
30+
(let [refined-contexts [{:type :file :path "foo.clj" :content "(ns foo)"}
31+
{:type :file :path "bar.clj" :content "(def a 1)" :partial true}
32+
{:type :repoMap}
33+
{:type :mcpResource :uri "custom://my-resource" :content "some-cool-content"}]
34+
rules [{:name "rule1" :content "First rule"}
35+
{:name "rule2" :content "Second rule"}]
36+
fake-repo-map (delay "TREE")
37+
behavior "plan"
38+
result (prompt/build-instructions refined-contexts rules fake-repo-map behavior {})]
39+
(is (string/includes? result "You are ECA"))
40+
(is (string/includes? result "<rules>"))
41+
(is (string/includes? result "<rule name=\"rule1\">First rule</rule>"))
42+
(is (string/includes? result "<rule name=\"rule2\">Second rule</rule>"))
43+
(is (string/includes? result "<contexts>"))
44+
(is (string/includes? result "<file path=\"foo.clj\">(ns foo)</file>"))
45+
(is (string/includes? result "<file partial=true path=\"bar.clj\">...\n(def a 1)\n...</file>"))
46+
(is (string/includes? result "<repoMap description=\"Workspaces structure in a tree view, spaces represent file hierarchy\" >TREE</repoMap>"))
47+
(is (string/includes? result "<resource uri=\"custom://my-resource\">some-cool-content</resource>"))
48+
(is (string/includes? result "</contexts>"))
2849
(is (string? result)))))

0 commit comments

Comments
 (0)