11import json
22from click .testing import CliRunner
3- from devchat .utils import get_prompt_hash
3+ from devchat .utils import get_prompt_hash , get_content
44from devchat ._cli .main import main
55
66runner = CliRunner ()
@@ -113,6 +113,7 @@ def test_log_insert(git_repo): # pylint: disable=W0613
113113 main ,
114114 ['log' , '--insert' , chat1 ]
115115 )
116+ assert result .exit_code == 0
116117 prompt1 = json .loads (result .output )[0 ]
117118
118119 chat2 = """{
@@ -135,6 +136,7 @@ def test_log_insert(git_repo): # pylint: disable=W0613
135136 main ,
136137 ['log' , '--insert' , chat2 ]
137138 )
139+ assert result .exit_code == 0
138140 prompt2 = json .loads (result .output )[0 ]
139141
140142 chat3 = f"""{{
@@ -158,6 +160,7 @@ def test_log_insert(git_repo): # pylint: disable=W0613
158160 main ,
159161 ['log' , '--insert' , chat3 ]
160162 )
163+ assert result .exit_code == 0
161164 prompt3 = json .loads (result .output )[0 ]
162165 assert prompt3 ['parent' ] == prompt1 ['hash' ]
163166
@@ -171,3 +174,17 @@ def test_log_insert(git_repo): # pylint: disable=W0613
171174 topics = json .loads (result .output )
172175 assert topics [0 ]['root_prompt' ]['hash' ] == prompt1 ['hash' ]
173176 assert topics [1 ]['root_prompt' ]['hash' ] == prompt2 ['hash' ]
177+
178+ result = runner .invoke (
179+ main ,
180+ ['prompt' , '-p' , prompt2 ['hash' ], 'Again, just reply the topic number.' ]
181+ )
182+ assert result .exit_code == 0
183+ content = get_content (result .output )
184+ assert content .strip () == "Topic 2"
185+
186+ result = runner .invoke (main , ['log' , '-t' , prompt2 ['hash' ], '-n' , 100 ])
187+ assert result .exit_code == 0
188+ logs = json .loads (result .output )
189+ assert len (logs ) == 2
190+ assert logs [0 ]['responses' ][0 ] == "Topic 2"
0 commit comments