Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit af55f6a

Browse files
committed
Add tests for NumberOf*Opens counters
Expect to fail on this commit.
1 parent d91c9ab commit af55f6a

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

src/GitHub.Exports/Models/UsageModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,8 @@ public class MeasuresModel
9191
public int NumberOfCloneViewUrlTab { get; set; }
9292
public int NumberOfGitHubClones { get; set; }
9393
public int NumberOfEnterpriseClones { get; set; }
94+
public int NumberOfGitHubOpens { get; set; }
95+
public int NumberOfEnterpriseOpens { get; set; }
9496
}
9597
}
9698
}

test/GitHub.App.UnitTests/Services/RepositoryCloneServiceTests.cs

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,24 @@ await usageTracker.Received(numberOfCalls).IncrementCounter(
5151
((MemberExpression)x.Body).Member.Name == counterName));
5252
}
5353

54-
[TestCase("https://github.com/foo/bar", 1, nameof(UsageModel.MeasuresModel.NumberOfClones))]
55-
[TestCase("https://github.com/foo/bar", 1, nameof(UsageModel.MeasuresModel.NumberOfGitHubClones))]
56-
[TestCase("https://github.com/foo/bar", 0, nameof(UsageModel.MeasuresModel.NumberOfEnterpriseClones))]
57-
[TestCase("https://enterprise.com/foo/bar", 1, nameof(UsageModel.MeasuresModel.NumberOfClones))]
58-
[TestCase("https://enterprise.com/foo/bar", 1, nameof(UsageModel.MeasuresModel.NumberOfEnterpriseClones))]
59-
[TestCase("https://enterprise.com/foo/bar", 0, nameof(UsageModel.MeasuresModel.NumberOfGitHubClones))]
60-
public async Task UpdatesMetricsWhenCloneOrOpenRepositoryAsync(string cloneUrl, int numberOfCalls, string counterName)
54+
[TestCase("https://github.com/foo/bar", false, 1, nameof(UsageModel.MeasuresModel.NumberOfClones))]
55+
[TestCase("https://github.com/foo/bar", false, 1, nameof(UsageModel.MeasuresModel.NumberOfGitHubClones))]
56+
[TestCase("https://github.com/foo/bar", false, 0, nameof(UsageModel.MeasuresModel.NumberOfEnterpriseClones))]
57+
[TestCase("https://enterprise.com/foo/bar", false, 1, nameof(UsageModel.MeasuresModel.NumberOfClones))]
58+
[TestCase("https://enterprise.com/foo/bar", false, 1, nameof(UsageModel.MeasuresModel.NumberOfEnterpriseClones))]
59+
[TestCase("https://enterprise.com/foo/bar", false, 0, nameof(UsageModel.MeasuresModel.NumberOfGitHubClones))]
60+
61+
[TestCase("https://github.com/foo/bar", true, 1, nameof(UsageModel.MeasuresModel.NumberOfGitHubOpens))]
62+
[TestCase("https://github.com/foo/bar", true, 0, nameof(UsageModel.MeasuresModel.NumberOfEnterpriseOpens))]
63+
[TestCase("https://enterprise.com/foo/bar", true, 1, nameof(UsageModel.MeasuresModel.NumberOfEnterpriseOpens))]
64+
[TestCase("https://enterprise.com/foo/bar", true, 0, nameof(UsageModel.MeasuresModel.NumberOfGitHubOpens))]
65+
public async Task UpdatesMetricsWhenCloneOrOpenRepositoryAsync(string cloneUrl, bool dirExists, int numberOfCalls, string counterName)
6166
{
62-
var cloneDialogResult = new CloneDialogResult(@"c:\dev\bar", cloneUrl);
67+
var repositoryPath = @"c:\dev\bar";
68+
var cloneDialogResult = new CloneDialogResult(repositoryPath, cloneUrl);
6369
var serviceProvider = Substitutes.ServiceProvider;
6470
var operatingSystem = serviceProvider.GetOperatingSystem();
71+
operatingSystem.Directory.DirectoryExists(repositoryPath).Returns(dirExists);
6572
var vsGitServices = serviceProvider.GetVSGitServices();
6673
var teamExplorerServices = Substitute.For<ITeamExplorerServices>();
6774
var graphqlFactory = Substitute.For<IGraphQLClientFactory>();

0 commit comments

Comments
 (0)