@@ -70,11 +70,6 @@ def act(self, _goal: Goal, toolbox: Toolbox) -> Action:
7070 self ._drafter .generate_draft ("hello" , CustomBot ())
7171 assert self ._commit_files ("HEAD" ) == set (["p2" , "p3" ])
7272
73- def test_generate_then_revert_draft (self ) -> None :
74- self ._drafter .generate_draft ("hello" , FakeBot ())
75- self ._drafter .exit_draft (revert = True )
76- assert len (self ._commits ()) == 1
77-
7873 def test_generate_outside_branch (self ) -> None :
7974 self ._repo .git .checkout ("--detach" )
8075 with pytest .raises (RuntimeError ):
@@ -140,98 +135,12 @@ def act(self, _goal: Goal, toolbox: Toolbox) -> Action:
140135
141136 self ._drafter .generate_draft ("hello" , CustomBot ())
142137
143- def test_sync_delete_revert (self ) -> None :
144- self ._write ("p1" , "a" )
145- self ._repo .git .add (all = True )
146- self ._repo .index .commit ("advance" )
147- self ._delete ("p1" )
148-
149- class CustomBot (Bot ):
150- def act (self , _goal : Goal , toolbox : Toolbox ) -> Action :
151- toolbox .write_file (PurePosixPath ("p2" ), "b" )
152- return Action ()
153-
154- self ._drafter .generate_draft ("hello" , CustomBot (), sync = True )
155- assert self ._read ("p1" ) is None
156-
157- self ._drafter .exit_draft (revert = True )
158- assert self ._read ("p1" ) is None
159-
160- def test_generate_delete_finalize_clean (self ) -> None :
161- self ._write ("p1" , "a" )
162- self ._repo .git .add (all = True )
163- self ._repo .index .commit ("advance" )
164-
165- class CustomBot (Bot ):
166- def act (self , _goal : Goal , toolbox : Toolbox ) -> Action :
167- toolbox .delete_file (PurePosixPath ("p1" ))
168- return Action ()
169-
170- self ._drafter .generate_draft ("hello" , CustomBot ())
171- assert self ._read ("p1" ) == "a"
172-
173- self ._drafter .exit_draft (revert = False , clean = True )
174- assert self ._read ("p1" ) is None
175-
176- def test_revert_outside_draft (self ) -> None :
177- with pytest .raises (RuntimeError ):
178- self ._drafter .exit_draft (revert = True )
179-
180- def test_revert_after_branch_move (self ) -> None :
181- self ._write ("log" , "11" )
182- self ._drafter .generate_draft ("hi" , FakeBot (), sync = True )
183- branch = self ._repo .active_branch
184- self ._repo .git .checkout ("main" )
185- self ._repo .index .commit ("advance" )
186- self ._repo .git .checkout (branch )
187- with pytest .raises (RuntimeError ):
188- self ._drafter .exit_draft (revert = True )
189-
190- def test_revert_restores_worktree (self ) -> None :
191- self ._write ("p1.txt" , "a1" )
192- self ._write ("p2.txt" , "b1" )
193- self ._drafter .generate_draft ("hello" , FakeBot (), sync = True )
194- self ._write ("p1.txt" , "a2" )
195- self ._drafter .exit_draft (revert = True , delete = True )
196- assert self ._read ("p1.txt" ) == "a1"
197- assert self ._read ("p2.txt" ) == "b1"
198-
199- def test_revert_discards_unused_files (self ) -> None :
200- self ._drafter .generate_draft ("hello" , FakeBot ())
201- assert self ._read ("PROMPT" ) is None
202- self ._drafter .exit_draft (revert = True )
203- assert self ._read ("PROMPT" ) is None
204-
205- def test_revert_keeps_untouched_files (self ) -> None :
206- class CustomBot (Bot ):
207- def act (self , _goal : Goal , toolbox : Toolbox ) -> Action :
208- toolbox .write_file (PurePosixPath ("p2.txt" ), "t2" )
209- toolbox .write_file (PurePosixPath ("p4.txt" ), "t2" )
210- return Action ()
211-
212- self ._write ("p1.txt" , "t0" )
213- self ._write ("p2.txt" , "t0" )
214- self ._repo .git .add (all = True )
215- self ._repo .index .commit ("update" )
216- self ._write ("p1.txt" , "t1" )
217- self ._write ("p2.txt" , "t1" )
218- self ._write ("p3.txt" , "t1" )
219- self ._drafter .generate_draft ("hello" , CustomBot ())
220- self ._write ("p1.txt" , "t3" )
221- self ._write ("p2.txt" , "t3" )
222- self ._drafter .exit_draft (revert = True )
223-
224- assert self ._read ("p1.txt" ) == "t3"
225- assert self ._read ("p2.txt" ) == "t0"
226- assert self ._read ("p3.txt" ) == "t1"
227- assert self ._read ("p4.txt" ) is None
228-
229138 def test_finalize_keeps_changes (self ) -> None :
230139 self ._write ("p1.txt" , "a1" )
231140 self ._drafter .generate_draft ("hello" , FakeBot ())
232141 self ._checkout ()
233142 self ._write ("p1.txt" , "a2" )
234- self ._drafter .exit_draft ( revert = False )
143+ self ._drafter .finalize_draft ( )
235144 assert self ._read ("p1.txt" ) == "a2"
236145 assert self ._read ("PROMPT" ) == "hello"
237146
0 commit comments