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

Commit 472dc0b

Browse files
author
Dan Walmsley
committed
Add unit tests for clone dialog search box cursor issue.
1 parent 18fbdfc commit 472dc0b

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

src/UnitTests/GitHub.App/ViewModels/RepositoryCloneViewModelTests.cs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,53 @@ public void IsTrueWhenLoadingCompleteNotFailedAndNoRepositories()
209209
}
210210
}
211211

212+
public class TheFilterTextEnabledProperty : TestBaseClass
213+
{
214+
[Fact]
215+
public void IsTrueInitially()
216+
{
217+
var repoSubject = new Subject<IRemoteRepositoryModel>();
218+
var col = TrackingCollection.Create(repoSubject);
219+
var repositoryHost = Substitute.For<IRepositoryHost>();
220+
repositoryHost.ModelService.GetRepositories(Arg.Any<ITrackingCollection<IRemoteRepositoryModel>>()).Returns(_ => col);
221+
var cloneService = Substitute.For<IRepositoryCloneService>();
222+
223+
var vm = new RepositoryCloneViewModel(
224+
repositoryHost,
225+
cloneService,
226+
Substitute.For<IOperatingSystem>(),
227+
Substitute.For<INotificationService>(),
228+
Substitute.For<IUsageTracker>());
229+
230+
Assert.False(vm.LoadingFailed);
231+
Assert.True(vm.FilterTextIsEnabled);
232+
}
233+
234+
[Fact]
235+
public void IsFalseIfLoadingReposFails()
236+
{
237+
var repoSubject = new Subject<IRemoteRepositoryModel>();
238+
var col = TrackingCollection.Create(repoSubject);
239+
var repositoryHost = Substitute.For<IRepositoryHost>();
240+
repositoryHost.ModelService.GetRepositories(Arg.Any<ITrackingCollection<IRemoteRepositoryModel>>()).Returns(_ => col);
241+
var cloneService = Substitute.For<IRepositoryCloneService>();
242+
var vm = GetVM(
243+
repositoryHost,
244+
cloneService,
245+
Substitute.For<IOperatingSystem>(),
246+
Substitute.For<INotificationService>(),
247+
Substitute.For<IUsageTracker>());
248+
249+
Assert.False(vm.LoadingFailed);
250+
251+
repoSubject.OnError(new InvalidOperationException("Doh!"));
252+
253+
Assert.True(vm.LoadingFailed);
254+
Assert.False(vm.FilterTextIsEnabled);
255+
repoSubject.OnCompleted();
256+
}
257+
}
258+
212259
public class TheLoadingFailedProperty : TestBaseClass
213260
{
214261
[Fact]

0 commit comments

Comments
 (0)