@@ -73,13 +73,36 @@ public async Task UpdatesMetricsWhenCloneOrOpenRepositoryAsync(string cloneUrl,
7373 var teamExplorerServices = Substitute . For < ITeamExplorerServices > ( ) ;
7474 var graphqlFactory = Substitute . For < IGraphQLClientFactory > ( ) ;
7575 var usageTracker = Substitute . For < IUsageTracker > ( ) ;
76- var cloneService = new RepositoryCloneService ( operatingSystem , vsGitServices , teamExplorerServices , graphqlFactory , usageTracker ) ;
76+ var cloneService = new RepositoryCloneService ( operatingSystem , vsGitServices , teamExplorerServices ,
77+ graphqlFactory , usageTracker ) ;
7778
7879 await cloneService . CloneOrOpenRepository ( cloneDialogResult ) ;
7980
8081 await usageTracker . Received ( numberOfCalls ) . IncrementCounter (
8182 Arg . Is < Expression < Func < UsageModel . MeasuresModel , int > > > ( x =>
8283 ( ( MemberExpression ) x . Body ) . Member . Name == counterName ) ) ;
8384 }
85+
86+ [ TestCase ( @"c:\default\repo" , @"c:\default" , 1 , nameof ( UsageModel . MeasuresModel . NumberOfClonesToDefaultClonePath ) ) ]
87+ [ TestCase ( @"c:\not_default\repo" , @"c:\default" , 0 , nameof ( UsageModel . MeasuresModel . NumberOfClonesToDefaultClonePath ) ) ]
88+ public async Task UpdatesMetricsWhenDefaultClonePath ( string targetPath , string defaultPath , int numberOfCalls , string counterName )
89+ {
90+ var serviceProvider = Substitutes . ServiceProvider ;
91+ var operatingSystem = serviceProvider . GetOperatingSystem ( ) ;
92+ var vsGitServices = serviceProvider . GetVSGitServices ( ) ;
93+ var teamExplorerServices = Substitute . For < ITeamExplorerServices > ( ) ;
94+ vsGitServices . GetLocalClonePathFromGitProvider ( ) . Returns ( defaultPath ) ;
95+ var graphqlFactory = Substitute . For < IGraphQLClientFactory > ( ) ;
96+ var usageTracker = Substitute . For < IUsageTracker > ( ) ;
97+ var cloneService = new RepositoryCloneService ( operatingSystem , vsGitServices , teamExplorerServices ,
98+ graphqlFactory , usageTracker ) ;
99+
100+ await cloneService . CloneRepository ( "https://github.com/foo/bar" , targetPath ) ;
101+ var model = UsageModel . Create ( Guid . NewGuid ( ) ) ;
102+
103+ await usageTracker . Received ( numberOfCalls ) . IncrementCounter (
104+ Arg . Is < Expression < Func < UsageModel . MeasuresModel , int > > > ( x =>
105+ ( ( MemberExpression ) x . Body ) . Member . Name == counterName ) ) ;
106+ }
84107 }
85108}
0 commit comments