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