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

Commit b417a95

Browse files
committed
Wait for probe up be finished in unit tests.
1 parent 1439be9 commit b417a95

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/GitHub.App/ViewModels/Dialog/LoginToGitHubForEnterpriseViewModel.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public LoginToGitHubForEnterpriseViewModel(
6565
this.WhenAnyValue(x => x.EnterpriseUrl, x => x.EnterpriseUrlValidator.ValidationResult)
6666
.Throttle(TimeSpan.FromMilliseconds(500), scheduler)
6767
.ObserveOn(RxApp.MainThreadScheduler)
68-
.Subscribe(x => EnterpriseUrlChanged(x.Item1, x.Item2?.IsValid ?? false));
68+
.Subscribe(x => UpdatingProbeStatus = EnterpriseUrlChanged(x.Item1, x.Item2?.IsValid ?? false));
6969

7070
NavigateLearnMore = ReactiveCommand.CreateAsyncObservable(_ =>
7171
{
@@ -122,13 +122,19 @@ public IReactiveCommand<Unit> NavigateLearnMore
122122
get;
123123
}
124124

125+
public Task UpdatingProbeStatus
126+
{
127+
get;
128+
private set;
129+
}
130+
125131
protected override async Task ResetValidation()
126132
{
127133
EnterpriseUrl = null;
128134
await EnterpriseUrlValidator.ResetAsync();
129135
}
130136

131-
async void EnterpriseUrlChanged(string url, bool valid)
137+
async Task EnterpriseUrlChanged(string url, bool valid)
132138
{
133139
if (!valid)
134140
{

test/GitHub.App.UnitTests/ViewModels/Dialog/LoginToGitHubForEnterpriseViewModelTests.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public async Task ReturnsCheckingWhenProbeNotFinished()
4747
}
4848

4949
[Test]
50-
public void ReturnsValidWhenProbeReturnsOk()
50+
public async Task ReturnsValidWhenProbeReturnsOk()
5151
{
5252
var scheduler = new TestScheduler();
5353
var caps = CreateCapabilties(EnterpriseProbeResult.Ok);
@@ -56,12 +56,13 @@ public void ReturnsValidWhenProbeReturnsOk()
5656
target.EnterpriseUrl = "https://foo.bar";
5757
scheduler.AdvanceBy(TimeSpan.FromMilliseconds(500).Ticks);
5858
scheduler.Stop();
59+
await target.UpdatingProbeStatus;
5960

6061
Assert.That(EnterpriseProbeStatus.Valid, Is.EqualTo(target.ProbeStatus));
6162
}
6263

6364
[Test]
64-
public void ReturnsInvalidWhenProbeReturnsFailed()
65+
public async Task ReturnsInvalidWhenProbeReturnsFailed()
6566
{
6667
var scheduler = new TestScheduler();
6768
var caps = CreateCapabilties(EnterpriseProbeResult.Failed);
@@ -70,12 +71,13 @@ public void ReturnsInvalidWhenProbeReturnsFailed()
7071
target.EnterpriseUrl = "https://foo.bar";
7172
scheduler.AdvanceBy(TimeSpan.FromMilliseconds(500).Ticks);
7273
scheduler.Stop();
74+
await target.UpdatingProbeStatus;
7375

7476
Assert.That(EnterpriseProbeStatus.Invalid, Is.EqualTo(target.ProbeStatus));
7577
}
7678

7779
[Test]
78-
public void ReturnsInvalidWhenProbeReturnsNotFound()
80+
public async Task ReturnsInvalidWhenProbeReturnsNotFound()
7981
{
8082
var scheduler = new TestScheduler();
8183
var caps = CreateCapabilties(EnterpriseProbeResult.NotFound);
@@ -84,6 +86,7 @@ public void ReturnsInvalidWhenProbeReturnsNotFound()
8486
target.EnterpriseUrl = "https://foo.bar";
8587
scheduler.AdvanceBy(TimeSpan.FromMilliseconds(500).Ticks);
8688
scheduler.Stop();
89+
await target.UpdatingProbeStatus;
8790

8891
Assert.That(EnterpriseProbeStatus.Invalid, Is.EqualTo(target.ProbeStatus));
8992
}

0 commit comments

Comments
 (0)