From 6cdb1cf918dbd7d0390584ee437f1d484a712660 Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Tue, 19 May 2015 08:36:46 +1000 Subject: [PATCH] Add integration tests --- .../Clients/PullRequestsClientTests.cs | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/Octokit.Tests.Integration/Clients/PullRequestsClientTests.cs b/Octokit.Tests.Integration/Clients/PullRequestsClientTests.cs index c35caa37..d98f8acb 100644 --- a/Octokit.Tests.Integration/Clients/PullRequestsClientTests.cs +++ b/Octokit.Tests.Integration/Clients/PullRequestsClientTests.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Octokit; +using Octokit.Tests.Helpers; using Octokit.Tests.Integration; using Xunit; @@ -199,6 +200,48 @@ public class PullRequestsClientTests : IDisposable Assert.True(result.Merged); } + [IntegrationTest] + public async Task CanBeMergedWithNoOptionalInput() + { + await CreateTheWorld(); + + var newPullRequest = new NewPullRequest("a pull request", branchName, "master"); + var pullRequest = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest); + + var merge = new MergePullRequest(); + var result = await _fixture.Merge(Helper.UserName, _repository.Name, pullRequest.Number, merge); + + Assert.True(result.Merged); + } + [IntegrationTest] + public async Task CanBeMergedWithShaSpecified() + { + await CreateTheWorld(); + + var newPullRequest = new NewPullRequest("a pull request", branchName, "master"); + var pullRequest = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest); + + var merge = new MergePullRequest { Message = "thing the thing", Sha = pullRequest.Head.Sha }; + var result = await _fixture.Merge(Helper.UserName, _repository.Name, pullRequest.Number, merge); + + Assert.True(result.Merged); + } + + [IntegrationTest] + public async Task CannotBeMerged() + { + await CreateTheWorld(); + var fakeSha = new string('f', 40); + + var newPullRequest = new NewPullRequest("a pull request", branchName, "master"); + var pullRequest = await _fixture.Create(Helper.UserName, _repository.Name, newPullRequest); + + var merge = new MergePullRequest { Sha = fakeSha }; + var ex = await AssertEx.Throws(async () => await _fixture.Merge(Helper.UserName, _repository.Name, pullRequest.Number, merge)); + + Assert.True(ex.ApiError.Message.StartsWith("Head branch was modified")); + } + [IntegrationTest] public async Task UpdatesMaster() {