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());
        }