@@ -51,6 +51,7 @@ pub struct MockGitInfo {
5151
5252 // Status
5353 dirty_files : Arc < Mutex < Vec < PathBuf > > > ,
54+ git_status : GitStatus ,
5455
5556 // Call tracking (for assertions)
5657 calls : Arc < Mutex < Vec < String > > > ,
@@ -80,6 +81,7 @@ pub struct MockGitInfoBuilder {
8081 milestones : Vec < octocrab:: models:: Milestone > ,
8182 users : Vec < crate :: RepoUser > ,
8283 dirty_files : Vec < PathBuf > ,
84+ git_status : GitStatus ,
8385}
8486
8587impl MockGitInfoBuilder {
@@ -94,6 +96,7 @@ impl MockGitInfoBuilder {
9496 milestones : Vec :: new ( ) ,
9597 users : Vec :: new ( ) ,
9698 dirty_files : Vec :: new ( ) ,
99+ git_status : GitStatus :: Clean ,
97100 }
98101 }
99102
@@ -142,6 +145,11 @@ impl MockGitInfoBuilder {
142145 self
143146 }
144147
148+ pub fn with_status ( mut self , status : GitStatus ) -> Self {
149+ self . git_status = status;
150+ self
151+ }
152+
145153 pub fn build ( self ) -> MockGitInfo {
146154 MockGitInfo {
147155 owner : self . owner ,
@@ -153,6 +161,7 @@ impl MockGitInfoBuilder {
153161 milestones : Arc :: new ( Mutex :: new ( self . milestones ) ) ,
154162 users : Arc :: new ( Mutex :: new ( self . users ) ) ,
155163 dirty_files : Arc :: new ( Mutex :: new ( self . dirty_files ) ) ,
164+ git_status : self . git_status ,
156165 calls : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) ,
157166 write_calls : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) ,
158167 }
@@ -218,7 +227,7 @@ impl GitHelpers for MockGitInfo {
218227
219228impl GitStatusOps for MockGitInfo {
220229 fn status ( & self ) -> Result < GitStatus , GitStatusError > {
221- Ok ( GitStatus :: Clean )
230+ Ok ( self . git_status . clone ( ) )
222231 }
223232
224233 fn dirty ( & self ) -> Result < Vec < PathBuf > , GitStatusError > {
0 commit comments