public async void GivenABoardTaskWhenOkThenSaveChangedCalled()
        {
            // Arrange
            SetupCommandHandler(new List<BoardEntity>
            {
                new BoardEntity
                {
                    Slug = "board-name",
                    Columns = new List<BoardColumnEntity>
                    {
                        new BoardColumnEntity {Slug = "board-column-name"}
                    }
                }
            });

            var command = new CreateBoardTaskCommand
            {
                BoardSlug = "board-name",
                BoardTask = new BoardTask
                {
                    BoardColumnSlug = "board-column-name",
                    Name = "test task"
                }
            };

            mockMappingService.Setup(x => x.Map<BoardTaskEntity>(It.IsAny<BoardTask>()))
                .Returns(new BoardTaskEntity());

            // Act
            await handler.HandleAsync(command);

            // Assert
            mockDataContext.Verify(x => x.SaveChangesAsync(), Times.Once);
        }
        public async void GivenABoardTaskWhenBoardColumnDoesNotExistThenThrowBoardColumnNotFoundException()
        {
            // Arrange
            SetupCommandHandler(new List <BoardEntity>
            {
                new BoardEntity {
                    Slug = "board-name"
                }
            });

            var command = new CreateBoardTaskCommand
            {
                BoardSlug = "board-name",
                BoardTask = new BoardTask
                {
                    Name = "test task"
                }
            };

            mockMappingService.Setup(x => x.Map <BoardColumnEntity>(It.IsAny <BoardColumn>()))
            .Returns(new BoardColumnEntity
            {
                Name = "test",
                Slug = "test"
            });

            mockSlugService.Setup(x => x.Slugify(It.IsAny <string>())).Returns("test");

            // Act & Assert
            await Assert.ThrowsAsync <BoardColumnNotFoundException>(() => handler.HandleAsync(command));
        }
        public async void GivenABoardTaskWhenOkThenBoardColumnAddedToBoardTask()
        {
            // Arrange
            var boardColumnEntity = new BoardColumnEntity {
                Slug = "board-column-name"
            };

            SetupCommandHandler(new List <BoardEntity>
            {
                new BoardEntity
                {
                    Slug    = "board-name",
                    Columns = new List <BoardColumnEntity>
                    {
                        boardColumnEntity
                    }
                }
            });

            var command = new CreateBoardTaskCommand
            {
                BoardSlug = "board-name",
                BoardTask = new BoardTask
                {
                    BoardColumnSlug = "board-column-name",
                    Name            = "test task"
                }
            };

            mockMappingService.Setup(x => x.Map <BoardTaskEntity>(It.IsAny <BoardTask>()))
            .Returns(new BoardTaskEntity());

            // Act
            await handler.HandleAsync(command);

            // Assert
            Assert.Equal(boardColumnEntity,
                         mockDataContext.Object.Set <BoardTaskEntity>().Local.First().BoardColumnEntity);
        }
        public async void GivenABoardTaskWhenOkThenSaveChangedCalled()
        {
            // Arrange
            SetupCommandHandler(new List <BoardEntity>
            {
                new BoardEntity
                {
                    Slug    = "board-name",
                    Columns = new List <BoardColumnEntity>
                    {
                        new BoardColumnEntity {
                            Slug = "board-column-name"
                        }
                    }
                }
            });

            var command = new CreateBoardTaskCommand
            {
                BoardSlug = "board-name",
                BoardTask = new BoardTask
                {
                    BoardColumnSlug = "board-column-name",
                    Name            = "test task"
                }
            };

            mockMappingService.Setup(x => x.Map <BoardTaskEntity>(It.IsAny <BoardTask>()))
            .Returns(new BoardTaskEntity());

            // Act
            await handler.HandleAsync(command);

            // Assert
            mockDataContext.Verify(x => x.SaveChangesAsync(), Times.Once);
        }
示例#5
0
        public async void GivenABoardTaskWhenOkThenMappingBackToDto()
        {
            // Arrange
            SetupCommandHandler(new List <BoardEntity>
            {
                new BoardEntity
                {
                    Slug    = "board-name",
                    Columns = new List <BoardColumnEntity>
                    {
                        new BoardColumnEntity {
                            Slug = "board-column-name"
                        }
                    }
                }
            });

            var command = new CreateBoardTaskCommand
            {
                BoardSlug = "board-name",
                BoardTask = new BoardTask
                {
                    BoardColumnSlug = "board-column-name",
                    Name            = "test task"
                }
            };

            mockMappingService.Setup(x => x.Map <BoardTaskEntity>(It.IsAny <BoardTask>()))
            .Returns(new BoardTaskEntity());

            // Act
            await handler.Handle(command, CancellationToken.None);

            // Assert
            mockMappingService.Verify(x => x.Map <BoardTask>(It.IsAny <BoardTaskEntity>()), Times.Once);
        }
        public async void GivenABoardTaskWhenOkThenBoardColumnAddedToBoardTask()
        {
            // Arrange
            var boardColumnEntity = new BoardColumnEntity {Slug = "board-column-name"};
            SetupCommandHandler(new List<BoardEntity>
            {
                new BoardEntity
                {
                    Slug = "board-name",
                    Columns = new List<BoardColumnEntity>
                    {
                        boardColumnEntity
                    }
                }
            });

            var command = new CreateBoardTaskCommand
            {
                BoardSlug = "board-name",
                BoardTask = new BoardTask
                {
                    BoardColumnSlug = "board-column-name",
                    Name = "test task"
                }
            };

            mockMappingService.Setup(x => x.Map<BoardTaskEntity>(It.IsAny<BoardTask>()))
                .Returns(new BoardTaskEntity());

            // Act
            await handler.HandleAsync(command);

            // Assert
            Assert.Equal(boardColumnEntity,
                mockDataContext.Object.Set<BoardTaskEntity>().Local.First().BoardColumnEntity);
        }
        public async void GivenABoardTaskWhenBoardColumnDoesNotExistThenThrowBoardColumnNotFoundException()
        {
            // Arrange
            SetupCommandHandler(new List<BoardEntity>
            {
                new BoardEntity { Slug = "board-name" }
            });

            var command = new CreateBoardTaskCommand
            {
                BoardSlug = "board-name",
                BoardTask = new BoardTask
                {
                    Name = "test task"
                }
            };

            mockMappingService.Setup(x => x.Map<BoardColumnEntity>(It.IsAny<BoardColumn>()))
                .Returns(new BoardColumnEntity
                {
                    Name = "test",
                    Slug = "test"
                });

            mockSlugService.Setup(x => x.Slugify(It.IsAny<string>())).Returns("test");

            // Act & Assert
            await Assert.ThrowsAsync<BoardColumnNotFoundException>(() => handler.HandleAsync(command));
        }