|
25 | 25 | (is (string/includes? result "<repoMap description=\"Workspaces structure in a tree view, spaces represent file hierarchy\" >TREE</repoMap>")) |
26 | 26 | (is (string/includes? result "<resource uri=\"custom://my-resource\">some-cool-content</resource>")) |
27 | 27 | (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>")) |
28 | 49 | (is (string? result))))) |
0 commit comments