Exemple #1
0
        public void Should_Throw_Exception_On_Removing_Column_With_Existing_Items()
        {
            // Given
            var board   = context.KanbanBoards.Include(x => x.Columns).First();
            var user    = context.AppUsers.FirstOrDefault();
            var handler = new RemoveColumn(repository, CreateAccessServiceMock().Object);
            var column  = board.Columns.Where(x => x.Items.Any()).First();

            // When/Then
            Assert.CatchAsync <ArgumentException>(
                async() => await handler.HandleAsync(
                    new RemoveColumn.Command(user.ID, board.ID, column.ID)));
        }
Exemple #2
0
        public void Should_Throw_Exception_On_Removing_Column_From_Wrong_Board()
        {
            // Given
            RemoveAllItems();
            var firstBoard = context.KanbanBoards.Include(x => x.Columns).First();
            var lastBoard  = context.KanbanBoards.Include(x => x.Columns).Last();
            var user       = context.AppUsers.FirstOrDefault();
            var handler    = new RemoveColumn(repository, CreateAccessServiceMock().Object);
            var column     = firstBoard.Columns.OrderBy(x => x.Index).First(x => x.Index == 1);
            var columnId   = column.ID;

            // When/Then
            Assert.CatchAsync <ArgumentException>(
                async() => await handler.HandleAsync(
                    new RemoveColumn.Command(user.ID, lastBoard.ID, column.ID)));
        }
Exemple #3
0
        public void Should_Remove_Column()
        {
            // Given
            RemoveAllItems();
            var board       = context.KanbanBoards.Include(x => x.Columns).First();
            var user        = context.AppUsers.FirstOrDefault();
            var handler     = new RemoveColumn(repository, CreateAccessServiceMock().Object);
            var column      = board.Columns.OrderBy(x => x.Index).Last();
            var columnCount = board.Columns.Count;

            // When
            handler.HandleAsync(
                new RemoveColumn.Command(user.ID, board.ID, column.ID)).Wait();

            // Then
            Assert.IsFalse(board.Columns.Any(x => x.ID == column.ID));
            Assert.AreEqual(columnCount - 1, board.Columns.Count);
        }
Exemple #4
0
        public void Should_Remap_Indexes_After_Column_Removal()
        {
            // Given
            RemoveAllItems();
            var board       = context.KanbanBoards.Include(x => x.Columns).First();
            var user        = context.AppUsers.FirstOrDefault();
            var handler     = new RemoveColumn(repository, CreateAccessServiceMock().Object);
            var column      = board.Columns.OrderBy(x => x.Index).First(x => x.Index == 1);
            var columnId    = column.ID;
            var columnCount = board.Columns.Count;

            // When
            handler.HandleAsync(
                new RemoveColumn.Command(user.ID, board.ID, column.ID)).Wait();

            // Then
            var indexes = board.Columns.OrderBy(x => x.Index).Select(x => x.Index);

            Assert.IsFalse(board.Columns.Any(x => x.ID == columnId));
            Assert.AreEqual(new[] { 0, 1 }, indexes);
        }