public async void GivenCommandWhenBoardColumnHasTasksThenBoardColumnNotEmptyExceptionThrown()
        {
            // Arrange
            var boardEntity = new BoardEntity {
                Slug = "board-name"
            };
            var boardColumnEntity = new BoardColumnEntity {
                Id = 1, Slug = "board-column-name", BoardEntity = boardEntity
            };

            SetupHandler(new List <BoardEntity> {
                boardEntity
            }, new List <BoardColumnEntity>
            {
                boardColumnEntity
            }, new List <BoardTaskEntity>
            {
                new BoardTaskEntity {
                    BoardColumnEntity = boardColumnEntity
                }
            });

            var command = new DeleteBoardColumnCommand
            {
                BoardSlug       = "board-name",
                BoardColumnSlug = "board-column-name"
            };

            // Act & Assert
            await Assert.ThrowsAsync <BoardColumnNotEmptyException>(() => handler.HandleAsync(command));
        }
        public async void GivenCommandWhenBoardColumnExisttsAndIsEmptyThenBoardColumnRemovedAndSaveChangesCalled()
        {
            // Arrange
            var boardEntity = new BoardEntity {
                Slug = "board-name"
            };
            var boardColumnEntity = new BoardColumnEntity {
                Id = 1, Slug = "board-column-name", BoardEntity = boardEntity
            };

            SetupHandler(new List <BoardEntity> {
                boardEntity
            }, new List <BoardColumnEntity>
            {
                boardColumnEntity
            }, new List <BoardTaskEntity>());

            var command = new DeleteBoardColumnCommand
            {
                BoardSlug       = "board-name",
                BoardColumnSlug = "board-column-name"
            };

            // Act
            await handler.HandleAsync(command);

            // Assert
            mockDataContext.Verify(x => x.SaveChangesAsync(), Times.Once());
            mockDataContext.Verify(x => x.Delete(boardColumnEntity), Times.Once());
        }
Esempio n. 3
0
        public async void GivenCommandWhenTaskExistsThenAttachedSaveChangesCalled()
        {
            // Arrange
            var boardEntity = new BoardEntity {
                Slug = "board-name"
            };
            var boardColumnEntity = new BoardColumnEntity
            {
                Slug        = "board-column-name",
                BoardEntity = boardEntity
            };

            SetupCommandHandler(new List <BoardEntity> {
                boardEntity
            }, new List <BoardColumnEntity> {
                boardColumnEntity
            });

            var command = new UpdateBoardColumnCommand
            {
                BoardSlug       = "board-name",
                BoardColumnSlug = "board-column-name",
                BoardColumn     = new BoardColumn()
            };

            // Act
            await handler.HandleAsync(command);

            // Assert
            mockDataContext.Verify(x => x.SetModified(boardColumnEntity), Times.Once);
            mockDataContext.Verify(x => x.SaveChangesAsync(), Times.Once);
        }
Esempio n. 4
0
        public async void GivenCommandWhenTaskExistsThenMappedBackToDto()
        {
            // Arrange
            var boardEntity = new BoardEntity {
                Slug = "board-name"
            };
            var boardColumnEntity = new BoardColumnEntity
            {
                Slug        = "board-column-name",
                BoardEntity = boardEntity
            };

            SetupCommandHandler(new List <BoardEntity> {
                boardEntity
            }, new List <BoardColumnEntity> {
                boardColumnEntity
            });

            var command = new UpdateBoardColumnCommand
            {
                BoardSlug       = "board-name",
                BoardColumnSlug = "board-column-name",
                BoardColumn     = new BoardColumn()
            };

            // Act
            await handler.HandleAsync(command);

            // Assert
            mockMappingService.Verify(x => x.Map <BoardColumn>(It.IsAny <BoardColumnEntity>()), Times.Once);
        }
Esempio n. 5
0
        public async void GivenCommandWhenTaskExistsThenMapDtoToEntity()
        {
            // Arrange
            var boardEntity = new BoardEntity {
                Slug = "board-name"
            };
            var boardColumnEntity = new BoardColumnEntity
            {
                Slug        = "board-column-name",
                BoardEntity = boardEntity
            };

            SetupCommandHandler(new List <BoardEntity> {
                boardEntity
            }, new List <BoardColumnEntity> {
                boardColumnEntity
            });

            var command = new UpdateBoardColumnCommand
            {
                BoardSlug       = "board-name",
                BoardColumnSlug = "board-column-name",
                BoardColumn     = new BoardColumn
                {
                    Slug = "board-column-name"
                }
            };

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

            // Assert
            mockMappingService.Verify(x => x.Map(It.IsAny <BoardColumn>(), It.IsAny <BoardColumnEntity>()), 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);
        }