예제 #1
0
        public async Task Handle_PullRequestClosedPayload_DeletesPullDogInstance()
        {
            //Arrange
            var fakeMediator = Substitute.For <IMediator>();

            var handler = new PullRequestClosedPayloadHandler(fakeMediator);

            //Act
            await handler.HandleAsync(new WebhookPayloadContext(
                                          null !,
                                          null !,
                                          new PullDogRepository()
            {
                Handle = "1337"
            },
                                          new PullDogPullRequest()
            {
                Handle = "1338"
            }));

            //Assert
            await fakeMediator
            .Received(1)
            .Send(Arg.Is <DeleteInstanceByPullRequestCommand>(args =>
                                                              args.RepositoryHandle == "1337" &&
                                                              args.PullRequestHandle == "1338"));
        }
예제 #2
0
        public async Task CanHandle_PullRequestClosedAndActionClosed_ReturnsTrue()
        {
            //Arrange
            var fakeMediator = Substitute.For <IMediator>();

            var handler = new PullRequestClosedPayloadHandler(fakeMediator);

            //Act
            var result = handler.CanHandle(new WebhookPayload()
            {
                Action      = "closed",
                PullRequest = new PullRequestPayload()
                {
                    State = "closed"
                }
            });

            //Assert
            Assert.IsTrue(result);
        }