@@ -49,5 +49,25 @@ await usageTracker.Received(numberOfCalls).IncrementCounter(
4949 Arg . Is < Expression < Func < UsageModel . MeasuresModel , int > > > ( x =>
5050 ( ( MemberExpression ) x . Body ) . Member . Name == counterName ) ) ;
5151 }
52+
53+ [ TestCase ( @"c:\default\repo" , @"c:\default" , 1 , nameof ( UsageModel . MeasuresModel . NumberOfClonesToDefaultClonePath ) ) ]
54+ [ TestCase ( @"c:\not_default\repo" , @"c:\default" , 0 , nameof ( UsageModel . MeasuresModel . NumberOfClonesToDefaultClonePath ) ) ]
55+ public async Task UpdatesMetricsWhenDefaultClonePath ( string targetPath , string defaultPath , int numberOfCalls , string counterName )
56+ {
57+ var serviceProvider = Substitutes . ServiceProvider ;
58+ var operatingSystem = serviceProvider . GetOperatingSystem ( ) ;
59+ var vsGitServices = serviceProvider . GetVSGitServices ( ) ;
60+ vsGitServices . GetLocalClonePathFromGitProvider ( ) . Returns ( defaultPath ) ;
61+ var graphqlFactory = Substitute . For < IGraphQLClientFactory > ( ) ;
62+ var usageTracker = Substitute . For < IUsageTracker > ( ) ;
63+ var cloneService = new RepositoryCloneService ( operatingSystem , vsGitServices , graphqlFactory , usageTracker ) ;
64+
65+ await cloneService . CloneRepository ( "https://github.com/foo/bar" , targetPath ) ;
66+ var model = UsageModel . Create ( Guid . NewGuid ( ) ) ;
67+
68+ await usageTracker . Received ( numberOfCalls ) . IncrementCounter (
69+ Arg . Is < Expression < Func < UsageModel . MeasuresModel , int > > > ( x =>
70+ ( ( MemberExpression ) x . Body ) . Member . Name == counterName ) ) ;
71+ }
5272 }
5373}
0 commit comments