Esempio n. 1
0
        public void Should_Throw_Exception_On_Adding_Item_With_No_Access()
        {
            // Given
            var board      = context.KanbanBoards.Include(x => x.Columns).ThenInclude(x => x.Items).First();
            var user       = context.AppUsers.FirstOrDefault();
            var handler    = new AddItem(repository, CreateAccessServiceMock(false, false).Object);
            var column     = board.Columns.Where(x => x.Items.Any()).First();
            var itemName   = "Item name";
            var itemsCount = column.Items.Count;

            // When/Then
            Assert.CatchAsync <ForbiddenException>(
                async() => await handler.HandleAsync(
                    new AddItem.Command(user.ID, board.ID, itemName, column.ID)));
        }
Esempio n. 2
0
        public void Should_Add_Item_To_Column()
        {
            // Given
            var board      = context.KanbanBoards.Include(x => x.Columns).ThenInclude(x => x.Items).First();
            var user       = context.AppUsers.FirstOrDefault();
            var handler    = new AddItem(repository, CreateAccessServiceMock().Object);
            var column     = board.Columns.Where(x => x.Items.Any()).First();
            var itemName   = "Item name";
            var itemsCount = column.Items.Count;

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

            // Then
            var addedItem = column.Items.First(x => x.Name == itemName);

            Assert.IsTrue(column.Items.Any(x => x.Name == itemName));
            Assert.AreEqual(itemsCount + 1, column.Items.Count);
            Assert.AreEqual(itemsCount, addedItem.Index);
        }