public async Task NoOtherPullRequestNoAction() { var gitHubMock = GitHubClientMockFactory.CreateDefault() .WithPullRequestGetAll(c => c.ReturnsAsync(new Octokit.PullRequest[0])); var eh = new PullRequestOpenDuplicateHandler(gitHubMock.CreateFactory(), MemoryCacheMockFactory.Instance, NullLogger.Instance); var result = await eh.Execute(SampleData.PrOpen); Assert.IsTrue(result.Result.Contains("no other PRs", System.StringComparison.InvariantCultureIgnoreCase)); gitHubMock.GitHubClientMock.Verify(c => c.Issue.Comment.Create(It.IsAny <long>(), It.IsAny <int>(), It.IsAny <string>()), Times.Never()); }
public async Task PullRequestActionIsNotOpenIgnored() { var gitHubMock = GitHubClientMockFactory.CreateDefault(); var payload = SampleData.PrOpen .Replace("\"action\": \"opened\"", "\"action\": \"aaaa\"", System.StringComparison.InvariantCultureIgnoreCase); var eh = new PullRequestOpenDuplicateHandler(gitHubMock.CreateFactory(), MemoryCacheMockFactory.Instance, NullLogger.Instance); var result = await eh.Execute(payload); Assert.IsTrue(result.Result.Contains("not of interest", System.StringComparison.InvariantCultureIgnoreCase)); gitHubMock.GitHubClientMock.Verify(c => c.Issue.Comment.Create(It.IsAny <long>(), It.IsAny <int>(), It.IsAny <string>()), Times.Never()); }
public async Task OtherClosedPullRequestYieldsWarning() { var gitHubMock = GitHubClientMockFactory.CreateDefault() .WithPullRequestGetAll(c => c.ReturnsAsync(new[] { GitHubMockData.CreatePullRequest(189, Octokit.ItemState.Open, 556677), GitHubMockData.CreatePullRequest(23, Octokit.ItemState.Closed, 556677), })) .WithIssueEventGetAll(c => c.ReturnsAsync(new[] { GitHubMockData.CreateIssueEvent(Octokit.EventInfoState.Closed, 444444) })); var eh = new PullRequestOpenDuplicateHandler(gitHubMock.CreateFactory(), MemoryCacheMockFactory.Instance, NullLogger.Instance); var result = await eh.Execute(SampleData.PrOpen); Assert.IsTrue(result.Result.Contains("already closed PRs", System.StringComparison.InvariantCultureIgnoreCase)); gitHubMock.GitHubClientMock.Verify(c => c.Issue.Comment.Create(339316008, 189, It.IsAny <string>()), Times.Once()); }