public async Task CreatingPRs( string repoName, string sourceRepoOwner, string sourceBranchName, bool repoIsFork, bool sourceBranchIsTracking, string targetRepoOwner, string targetBranchName, string title, string body) { var remote = "origin"; var data = PrepareTestData(repoName, sourceRepoOwner, sourceBranchName, targetRepoOwner, targetBranchName, "origin", repoIsFork, sourceBranchIsTracking); var targetRepo = data.TargetRepo; var gitClient = data.GitClient; var l2repo = data.L2Repo; var activeRepo = data.ActiveRepo; var sourceBranch = data.SourceBranch; var targetBranch = data.TargetBranch; var ms = data.ModelService; var prservice = new PullRequestService(data.GitClient, data.GitService, data.ServiceProvider.GetOperatingSystem(), Substitute.For <IUsageTracker>()); prservice.GetPullRequestTemplate(data.ActiveRepo).Returns(Observable.Empty <string>()); var vm = new PullRequestCreationViewModel(data.RepositoryHost, data.ActiveRepo, prservice, data.NotificationService); vm.Initialize(); // the TargetBranch property gets set to whatever the repo default is (we assume master here), // so we only set it manually to emulate the user selecting a different target branch if (targetBranchName != "master") { vm.TargetBranch = new BranchModel(targetBranchName, targetRepo); } if (title != null) { vm.PRTitle = title; } // this is optional if (body != null) { vm.Description = body; } await vm.CreatePullRequest.ExecuteAsync(); var unused2 = gitClient.Received().Push(l2repo, sourceBranchName, remote); if (!sourceBranchIsTracking) { unused2 = gitClient.Received().SetTrackingBranch(l2repo, sourceBranchName, remote); } else { unused2 = gitClient.DidNotReceiveWithAnyArgs().SetTrackingBranch(Args.LibGit2Repo, Args.String, Args.String); } var unused = ms.Received().CreatePullRequest(activeRepo, targetRepo, sourceBranch, targetBranch, title ?? "Source branch", body ?? String.Empty); }
public void TargetBranchDisplayNameIncludesRepoOwnerWhenFork() { var data = PrepareTestData("octokit.net", "shana", "master", "octokit", "master", "origin", true, true); var prservice = new PullRequestService(data.GitClient, data.GitService, data.ServiceProvider.GetOperatingSystem(), Substitute.For <IUsageTracker>()); prservice.GetPullRequestTemplate(data.ActiveRepo).Returns(Observable.Empty <string>()); var vm = new PullRequestCreationViewModel(data.RepositoryHost, data.ActiveRepo, prservice, data.NotificationService); Assert.Equal("octokit/master", vm.TargetBranch.DisplayName); }
public async Task TargetBranchDisplayNameIncludesRepoOwnerWhenForkAsync() { var data = PrepareTestData("octokit.net", "shana", "master", "octokit", "master", "origin", true, true); var prservice = new PullRequestService(data.GitClient, data.GitService, Substitute.For <IVSGitExt>(), Substitute.For <IGraphQLClientFactory>(), data.ServiceProvider.GetOperatingSystem(), Substitute.For <IUsageTracker>()); prservice.GetPullRequestTemplate(data.ActiveRepo).Returns(Observable.Empty <string>()); var vm = new PullRequestCreationViewModel(data.GetModelServiceFactory(), prservice, data.NotificationService); await vm.InitializeAsync(data.ActiveRepo, data.Connection); Assert.That("octokit/master", Is.EqualTo(vm.TargetBranch.DisplayName)); }