@@ -12,17 +12,13 @@ public void Save_ShouldWriteError_WhenNotInGitRepository()
1212 Assert . ThrowsException < EyePatchException > (
1313 ( ) =>
1414 {
15- try
16- {
17- var mockSettings = new Mock < Settings > ( ) ;
18-
19- new Save ( ) . Execute ( mockSettings . Object , "test.patch" ) ;
20- }
21- catch ( EyePatchException ex )
22- {
23- Assert . IsInstanceOfType ( ex . InnerException , typeof ( RepositoryNotFoundException ) ) ;
24- throw ;
25- }
15+ var mockSettings = new Mock < Settings > ( ) ;
16+
17+ var saveDiff = new Mock < Save > { CallBase = true } ;
18+ saveDiff . Setup ( d => d . FindRepository ( ) )
19+ . Throws ( new EyePatchException ( "Not in a Git repository." , new RepositoryNotFoundException ( ) ) ) ;
20+
21+ saveDiff . Object . Execute ( mockSettings . Object , "test.patch" ) ;
2622 } ) ;
2723 }
2824
@@ -32,20 +28,21 @@ public void Save_ShouldWriteError_WhenParentCommitNotFound()
3228 Assert . ThrowsException < EyePatchException > (
3329 ( ) =>
3430 {
35- try
36- {
37- var mockSettings = new Mock < Settings > ( ) ;
38-
39- var mockRepository = new Mock < IRepository > ( ) ;
40- mockRepository . Setup ( r => r . Branches [ "origin/main" ] . Tip ) . Returns ( ( Commit ) null ! ) ;
41-
42- new Save ( ) . Execute ( mockSettings . Object , "test.patch" ) ;
43- }
44- catch ( EyePatchException ex )
45- {
46- Assert . IsInstanceOfType ( ex . InnerException , typeof ( RepositoryNotFoundException ) ) ;
47- throw ;
48- }
31+ var mockSettings = new Mock < Settings > ( ) ;
32+
33+ var mockBranch = new Mock < Branch > ( ) ;
34+
35+ var mockRepository = new Mock < IRepository > ( ) ;
36+ mockRepository . Setup ( r => r . Branches [ "origin/main" ] . Tip ) . Returns ( ( Commit ) null ! ) ;
37+ mockRepository . Setup ( r => r . Head ) . Returns ( mockBranch . Object ) ;
38+ mockRepository . Setup ( r => r . ObjectDatabase . FindMergeBase ( It . IsAny < Commit > ( ) , It . IsAny < Commit > ( ) ) )
39+ . Returns ( ( Commit ) null ) ;
40+
41+ var saveDiff = new Mock < Save > { CallBase = true } ;
42+ saveDiff . Setup ( d => d . FindRepository ( ) )
43+ . Returns ( mockRepository . Object ) ;
44+
45+ saveDiff . Object . Execute ( mockSettings . Object , "test.patch" ) ;
4946 } ) ;
5047 }
5148
0 commit comments