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

Commit 126a9d2

Browse files
committed
Fix broken RepositoryCloneService tests
1 parent f5a8fb8 commit 126a9d2

File tree

4 files changed

+15
-18
lines changed

4 files changed

+15
-18
lines changed

src/GitHub.App/Services/RepositoryCloneService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public async Task CloneOrOpenRepository(
161161
teamExplorerServices.ShowHomePage();
162162

163163
var context = gitHubContextService.FindContextFromUrl(url);
164-
if (context.LinkType == LinkType.Blob)
164+
if (context?.LinkType == LinkType.Blob)
165165
{
166166
// Navigate to file for /blob/ type URLs
167167
var (commitish, path, isSha) = gitHubContextService.ResolveBlob(repositoryPath, context);

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,11 @@ public async Task UpdatesMetricsWhenRepositoryClonedAsync(string cloneUrl, int n
4040
var vsGitServices = serviceProvider.GetVSGitServices();
4141
var teamExplorerServices = Substitute.For<ITeamExplorerServices>();
4242
var graphqlFactory = Substitute.For<IGraphQLClientFactory>();
43+
var gitHubContextService = Substitute.For<IGitHubContextService>();
44+
var vsServices = Substitute.For<IVSServices>();
4345
var usageTracker = Substitute.For<IUsageTracker>();
44-
var cloneService = new RepositoryCloneService(operatingSystem, vsGitServices, teamExplorerServices, graphqlFactory, usageTracker);
46+
var cloneService = new RepositoryCloneService(operatingSystem, vsGitServices, teamExplorerServices,
47+
graphqlFactory, gitHubContextService, vsServices, usageTracker);
4548

4649
await cloneService.CloneRepository(cloneUrl, @"c:\dev\bar");
4750
var model = UsageModel.Create(Guid.NewGuid());
@@ -72,9 +75,11 @@ public async Task UpdatesMetricsWhenCloneOrOpenRepositoryAsync(string cloneUrl,
7275
var vsGitServices = serviceProvider.GetVSGitServices();
7376
var teamExplorerServices = Substitute.For<ITeamExplorerServices>();
7477
var graphqlFactory = Substitute.For<IGraphQLClientFactory>();
78+
var gitHubContextService = Substitute.For<IGitHubContextService>();
79+
var vsServices = Substitute.For<IVSServices>();
7580
var usageTracker = Substitute.For<IUsageTracker>();
7681
var cloneService = new RepositoryCloneService(operatingSystem, vsGitServices, teamExplorerServices,
77-
graphqlFactory, usageTracker);
82+
graphqlFactory, gitHubContextService, vsServices, usageTracker);
7883

7984
await cloneService.CloneOrOpenRepository(cloneDialogResult);
8085

@@ -93,9 +98,11 @@ public async Task UpdatesMetricsWhenDefaultClonePath(string targetPath, string d
9398
var teamExplorerServices = Substitute.For<ITeamExplorerServices>();
9499
vsGitServices.GetLocalClonePathFromGitProvider().Returns(defaultPath);
95100
var graphqlFactory = Substitute.For<IGraphQLClientFactory>();
101+
var gitHubContextService = Substitute.For<IGitHubContextService>();
102+
var vsServices = Substitute.For<IVSServices>();
96103
var usageTracker = Substitute.For<IUsageTracker>();
97104
var cloneService = new RepositoryCloneService(operatingSystem, vsGitServices, teamExplorerServices,
98-
graphqlFactory, usageTracker);
105+
graphqlFactory, gitHubContextService, vsServices, usageTracker);
99106

100107
await cloneService.CloneRepository("https://github.com/foo/bar", targetPath);
101108
var model = UsageModel.Create(Guid.NewGuid());

test/GitHub.App.UnitTests/Substitutes.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,10 @@ public static IGitHubServiceProvider GetServiceProvider(
112112
var os = OperatingSystem;
113113
var vsgit = IVSGitServices;
114114
var clone = cloneService ?? new RepositoryCloneService(os, vsgit, Substitute.For<ITeamExplorerServices>(),
115-
Substitute.For<IGraphQLClientFactory>(), Substitute.For<IUsageTracker>());
115+
Substitute.For<IGraphQLClientFactory>(), Substitute.For<IGitHubContextService>(),
116+
Substitute.For<IVSServices>(), Substitute.For<IUsageTracker>());
116117
var create = creationService ?? new RepositoryCreationService(clone);
117118
avatarProvider = avatarProvider ?? Substitute.For<IAvatarProvider>();
118-
//ret.GetService(typeof(IGitRepositoriesExt)).Returns(IGitRepositoriesExt);
119119
ret.GetService(typeof(IGitService)).Returns(gitservice);
120120
ret.GetService(typeof(IVSServices)).Returns(Substitute.For<IVSServices>());
121121
ret.GetService(typeof(IVSGitServices)).Returns(vsgit);
@@ -132,11 +132,6 @@ public static IGitHubServiceProvider GetServiceProvider(
132132
return ret;
133133
}
134134

135-
//public static IGitRepositoriesExt GetGitExt(this IServiceProvider provider)
136-
//{
137-
// return provider.GetService(typeof(IGitRepositoriesExt)) as IGitRepositoriesExt;
138-
//}
139-
140135
public static IVSServices GetVSServices(this IServiceProvider provider)
141136
{
142137
return provider.GetService(typeof(IVSServices)) as IVSServices;

test/GitHub.VisualStudio.UnitTests/Substitutes.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,10 @@ public static IGitHubServiceProvider GetServiceProvider(
112112
var os = OperatingSystem;
113113
var vsgit = IVSGitServices;
114114
var clone = cloneService ?? new RepositoryCloneService(os, vsgit, Substitute.For<ITeamExplorerServices>(),
115-
Substitute.For<IGraphQLClientFactory>(), Substitute.For<IUsageTracker>());
115+
Substitute.For<IGraphQLClientFactory>(), Substitute.For<IGitHubContextService>(), Substitute.For<IVSServices>(),
116+
Substitute.For<IUsageTracker>());
116117
var create = creationService ?? new RepositoryCreationService(clone);
117118
avatarProvider = avatarProvider ?? Substitute.For<IAvatarProvider>();
118-
//ret.GetService(typeof(IGitRepositoriesExt)).Returns(IGitRepositoriesExt);
119119
ret.GetService(typeof(IGitService)).Returns(gitservice);
120120
ret.GetService(typeof(IVSServices)).Returns(Substitute.For<IVSServices>());
121121
ret.GetService(typeof(IVSGitServices)).Returns(vsgit);
@@ -132,11 +132,6 @@ public static IGitHubServiceProvider GetServiceProvider(
132132
return ret;
133133
}
134134

135-
//public static IGitRepositoriesExt GetGitExt(this IServiceProvider provider)
136-
//{
137-
// return provider.GetService(typeof(IGitRepositoriesExt)) as IGitRepositoriesExt;
138-
//}
139-
140135
public static IVSServices GetVSServices(this IServiceProvider provider)
141136
{
142137
return provider.GetService(typeof(IVSServices)) as IVSServices;

0 commit comments

Comments
 (0)