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

Commit e1dda51

Browse files
committed
Pass in JoinableTaskContext from unit tests
1 parent 0bfb1b3 commit e1dda51

File tree

7 files changed

+30
-20
lines changed

7 files changed

+30
-20
lines changed

src/GitHub.VisualStudio/Services/UsageTracker.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public UsageTracker(
3333
IPackageSettings settings,
3434
JoinableTaskContext joinableTaskContext)
3535
{
36-
makethis.gitHubServiceProvider = gitHubServiceProvider;
36+
this.gitHubServiceProvider = gitHubServiceProvider;
3737
this.service = service;
3838
this.userSettings = settings;
3939
JoinableTaskFactory = joinableTaskContext.Factory;

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using GitHub.Api;
66
using GitHub.Models;
77
using GitHub.Services;
8+
using Microsoft.VisualStudio.Threading;
89
using NSubstitute;
910
using NUnit.Framework;
1011
using Rothko;
@@ -168,7 +169,7 @@ static RepositoryCloneService CreateRepositoryCloneService(IOperatingSystem oper
168169

169170
return new RepositoryCloneService(operatingSystem, vsGitServices, teamExplorerServices,
170171
Substitute.For<IGraphQLClientFactory>(), Substitute.For<IGitHubContextService>(),
171-
usageTracker, serviceProvider);
172+
usageTracker, serviceProvider, new JoinableTaskContext());
172173
}
173174
}
174175
}

test/GitHub.App.UnitTests/Substitutes.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using System.ComponentModel.Composition.Hosting;
1111
using GitHub.Factories;
1212
using GitHub.Api;
13+
using Microsoft.VisualStudio.Threading;
1314

1415
namespace UnitTests
1516
{
@@ -88,7 +89,7 @@ public static IGitHubServiceProvider GetServiceProvider(
8889
var clone = cloneService ?? new RepositoryCloneService(Substitute.For<IOperatingSystem>(),
8990
Substitute.For<IVSGitServices>(), Substitute.For<ITeamExplorerServices>(),
9091
Substitute.For<IGraphQLClientFactory>(), Substitute.For<IGitHubContextService>(),
91-
Substitute.For<IUsageTracker>(), ret);
92+
Substitute.For<IUsageTracker>(), ret, new JoinableTaskContext());
9293
var create = creationService ?? new RepositoryCreationService(clone);
9394
avatarProvider = avatarProvider ?? Substitute.For<IAvatarProvider>();
9495
ret.GetService(typeof(IGitService)).Returns(gitservice);

test/GitHub.App.UnitTests/ViewModels/GitHubPane/PullRequestDetailViewModelTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
using NUnit.Framework;
1717
using System.Windows.Input;
1818
using System.Reactive.Threading.Tasks;
19+
using Microsoft.VisualStudio.Threading;
1920

2021
namespace UnitTests.GitHub.App.ViewModels.GitHubPane
2122
{
@@ -613,7 +614,8 @@ static Tuple<PullRequestDetailViewModel, IPullRequestService> CreateTargetAndSer
613614
Substitute.For<ISyncSubmodulesCommand>(),
614615
Substitute.For<IViewViewModelFactory>(),
615616
gitService,
616-
Substitute.For<IOpenIssueishDocumentCommand>());
617+
Substitute.For<IOpenIssueishDocumentCommand>(),
618+
new JoinableTaskContext());
617619
vm.InitializeAsync(repository, Substitute.For<IConnection>(), "owner", "repo", 1).Wait();
618620

619621
return Tuple.Create(vm, pullRequestService);

test/GitHub.VisualStudio.UnitTests/Services/LocalRepositoriesTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using GitHub.Models;
77
using GitHub.Primitives;
88
using GitHub.Services;
9+
using Microsoft.VisualStudio.Threading;
910
using NSubstitute;
1011
using NUnit.Framework;
1112

@@ -17,7 +18,7 @@ public class LocalRepositoriesTests : TestBaseClass
1718
public void RepositoriesShouldInitiallyBeEmpty()
1819
{
1920
var service = CreateVSGitServices("repo1", "repo2");
20-
var target = new LocalRepositories(service);
21+
var target = new LocalRepositories(service, new JoinableTaskContext());
2122

2223
Assert.That(target.Repositories, Is.Empty);
2324
}
@@ -26,7 +27,7 @@ public void RepositoriesShouldInitiallyBeEmpty()
2627
public async Task RefreshShouldLoadRepositories()
2728
{
2829
var service = CreateVSGitServices("repo1", "repo2");
29-
var target = new LocalRepositories(service);
30+
var target = new LocalRepositories(service, new JoinableTaskContext());
3031

3132
await target.Refresh();
3233

@@ -39,7 +40,7 @@ public async Task RefreshShouldLoadRepositories()
3940
public async Task RefreshShouldAddNewRepository()
4041
{
4142
var service = CreateVSGitServices("repo1", "repo2");
42-
var target = new LocalRepositories(service);
43+
var target = new LocalRepositories(service, new JoinableTaskContext());
4344

4445
await target.Refresh();
4546

@@ -60,7 +61,7 @@ public async Task RefreshShouldAddNewRepository()
6061
public async Task RefreshShouldRemoveRepository()
6162
{
6263
var service = CreateVSGitServices("repo1", "repo2");
63-
var target = new LocalRepositories(service);
64+
var target = new LocalRepositories(service, new JoinableTaskContext());
6465

6566
await target.Refresh();
6667

@@ -83,7 +84,7 @@ public async Task GetRepositoriesForAddressShouldFilterRepositories()
8384
Tuple.Create("repo1", GitHubAddress),
8485
Tuple.Create("repo2", GitHubAddress),
8586
Tuple.Create("repo2", "https://another.com"));
86-
var target = new LocalRepositories(service);
87+
var target = new LocalRepositories(service, new JoinableTaskContext());
8788

8889
await target.Refresh();
8990

@@ -98,7 +99,7 @@ public async Task GetRepositoriesForAddressShouldFilterRepositories()
9899
public async Task GetRepositoriesForAddressShouldSortRepositories()
99100
{
100101
var service = CreateVSGitServices("c", "a", "b");
101-
var target = new LocalRepositories(service);
102+
var target = new LocalRepositories(service, new JoinableTaskContext());
102103

103104
await target.Refresh();
104105
var result = target.GetRepositoriesForAddress(HostAddress.Create(GitHubAddress));

test/GitHub.VisualStudio.UnitTests/Services/MetricsTests.cs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using GitHub.Models;
1111
using GitHub.Services;
1212
using GitHub.Settings;
13+
using Microsoft.VisualStudio.Threading;
1314
using NSubstitute;
1415
using NUnit.Framework;
1516
using Rothko;
@@ -23,7 +24,7 @@ public class UsageTrackerTests : TestBaseClass
2324
public void ShouldStartTimer()
2425
{
2526
var service = Substitute.For<IUsageService>();
26-
var target = new UsageTracker(CreateServiceProvider(), service, CreatePackageSettings());
27+
var target = new UsageTracker(CreateServiceProvider(), service, CreatePackageSettings(), new JoinableTaskContext());
2728

2829
service.Received(1).StartTimer(Arg.Any<Func<Task>>(), TimeSpan.FromMinutes(3), TimeSpan.FromDays(1));
2930
}
@@ -109,7 +110,8 @@ public async Task ShouldIncrementCounter()
109110
var target = new UsageTracker(
110111
CreateServiceProvider(),
111112
usageService,
112-
CreatePackageSettings());
113+
CreatePackageSettings(),
114+
new JoinableTaskContext());
113115

114116
await target.IncrementCounter(x => x.NumberOfClones);
115117
UsageData result = usageService.ReceivedCalls().First(x => x.GetMethodInfo().Name == "WriteLocalData").GetArguments()[0] as UsageData;
@@ -125,7 +127,8 @@ public async Task ShouldWriteData()
125127
var target = new UsageTracker(
126128
CreateServiceProvider(),
127129
service,
128-
CreatePackageSettings());
130+
CreatePackageSettings(),
131+
new JoinableTaskContext());
129132

130133
await target.IncrementCounter(x => x.NumberOfClones);
131134
await service.Received(1).WriteLocalData(Arg.Is<UsageData>(data =>
@@ -151,7 +154,8 @@ public async Task ShouldWriteUpdatedData()
151154
var target = new UsageTracker(
152155
CreateServiceProvider(),
153156
service,
154-
CreatePackageSettings());
157+
CreatePackageSettings(),
158+
new JoinableTaskContext());
155159

156160
await target.IncrementCounter(x => x.NumberOfClones);
157161
await service.Received(1).WriteLocalData(Arg.Is<UsageData>(data =>
@@ -173,7 +177,7 @@ static Tuple<UsageTracker, Func<Task>> CreateTargetAndGetTick(
173177
service.WhenForAnyArgs(x => x.StartTimer(null, new TimeSpan(), new TimeSpan()))
174178
.Do(x => tick = x.ArgAt<Func<Task>>(0));
175179

176-
var target = new UsageTracker(serviceProvider, service, CreatePackageSettings());
180+
var target = new UsageTracker(serviceProvider, service, CreatePackageSettings(), new JoinableTaskContext());
177181

178182
return Tuple.Create(target, tick);
179183
}
@@ -271,7 +275,7 @@ void WriteUserFileContent(string content)
271275
[Test]
272276
public async Task GetUserGuidWorks()
273277
{
274-
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment);
278+
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment, new JoinableTaskContext());
275279
var guid = await usageService.GetUserGuid();
276280
Assert.IsTrue(guid.Equals(UserGuid));
277281
}
@@ -281,15 +285,15 @@ public async Task GetUserGuidWorksWhenFileMissing()
281285
{
282286
File.Delete(userFileName);
283287

284-
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment);
288+
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment, new JoinableTaskContext());
285289
var guid = await usageService.GetUserGuid();
286290
Assert.AreNotEqual(guid, Guid.Empty);
287291
}
288292

289293
[Test]
290294
public async Task ReadUsageDataWorks()
291295
{
292-
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment);
296+
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment, new JoinableTaskContext());
293297
var usageData = await usageService.ReadLocalData();
294298

295299
Assert.IsNotNull(usageData);
@@ -305,7 +309,7 @@ public async Task ReadUsageDataWorksWhenFileMissing()
305309
{
306310
File.Delete(usageFileName);
307311

308-
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment);
312+
var usageService = new UsageService(Substitute.For<IGitHubServiceProvider>(), environment, new JoinableTaskContext());
309313
var usageData = await usageService.ReadLocalData();
310314

311315
Assert.IsNotNull(usageData);

test/GitHub.VisualStudio.UnitTests/Substitutes.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using System.ComponentModel.Composition.Hosting;
1111
using GitHub.Factories;
1212
using GitHub.Api;
13+
using Microsoft.VisualStudio.Threading;
1314

1415
namespace UnitTests
1516
{
@@ -113,7 +114,7 @@ public static IGitHubServiceProvider GetServiceProvider(
113114
var vsgit = IVSGitServices;
114115
var clone = cloneService ?? new RepositoryCloneService(os, vsgit, Substitute.For<ITeamExplorerServices>(),
115116
Substitute.For<IGraphQLClientFactory>(), Substitute.For<IGitHubContextService>(),
116-
Substitute.For<IUsageTracker>(), ret);
117+
Substitute.For<IUsageTracker>(), ret, new JoinableTaskContext());
117118
var create = creationService ?? new RepositoryCreationService(clone);
118119
avatarProvider = avatarProvider ?? Substitute.For<IAvatarProvider>();
119120
ret.GetService(typeof(IGitService)).Returns(gitservice);

0 commit comments

Comments
 (0)