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

Commit 124b8d5

Browse files
committed
subscribe in the contstructor set up asserts properly
1 parent 9b130b6 commit 124b8d5

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

src/GitHub.App/ViewModels/PullRequestCreationViewModel.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ public PullRequestCreationViewModel(IRepositoryHost repositoryHost, ISimpleRepos
120120
this.WhenAnyValue(x => x.Initialized, x => x.GitHubRepository, x => x.Description, x => x.IsExecuting)
121121
.Select(x => !(x.Item1 && x.Item2 != null && x.Item3 != null && !x.Item4))
122122
.Subscribe(x => IsBusy = x);
123+
124+
CancelCommand.Subscribe(_ => Reset());
125+
CreatePullRequest.Subscribe(_ => Reset());
123126
}
124127

125128
public override void Initialize(ViewWithData data = null)
@@ -148,9 +151,6 @@ public override void Initialize(ViewWithData data = null)
148151
Branches = x.ToList();
149152
Initialized = true;
150153
});
151-
152-
CancelCommand.Subscribe(_ => Reset());
153-
CreatePullRequest.Subscribe(_ => Reset());
154154
}
155155

156156
void SetupValidators()

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,27 @@ public void FormClearsOnCancel()
198198
var data = PrepareTestData("octokit.net", "shana", "master", "octokit", "notmaster", "origin", true, true);
199199
var prservice = new PullRequestService(data.GitClient, data.GitService, data.ServiceProvider.GetOperatingSystem(), Substitute.For<IUsageTracker>());
200200
var vm = new PullRequestCreationViewModel(data.RepositoryHost, data.ActiveRepo, prservice, data.NotificationService);
201+
vm.PRTitle = "a title";
202+
vm.Description = "a description";
201203
vm.CancelCommand.ExecuteAsync();
202-
Assert.Equal(vm.TargetBranch.Name, "master");
204+
205+
Assert.Equal("master", vm.TargetBranch.Name);
206+
Assert.Equal(string.Empty, vm.PRTitle);
207+
Assert.Equal(string.Empty, vm.Description);
208+
}
209+
210+
[Fact]
211+
public void FormClearsOnCreation()
212+
{
213+
var data = PrepareTestData("octokit.net", "shana", "master", "octokit", "notmaster", "origin", true, true);
214+
var prservice = new PullRequestService(data.GitClient, data.GitService, data.ServiceProvider.GetOperatingSystem(), Substitute.For<IUsageTracker>());
215+
var vm = new PullRequestCreationViewModel(data.RepositoryHost, data.ActiveRepo, prservice, data.NotificationService);
216+
vm.PRTitle = "a title";
217+
vm.Description = "a description";
218+
vm.CreatePullRequest.ExecuteAsync();
219+
220+
Assert.Equal("master", vm.TargetBranch.Name);
221+
Assert.Equal(string.Empty, vm.PRTitle);
222+
Assert.Equal(string.Empty, vm.Description);
203223
}
204224
}

0 commit comments

Comments
 (0)