public async Task Handle_HasBoards_FiltersByBoardUser()
        {
            var factory = new BoardUserFactory();
            var dbName  = $"{nameof(GetBoardsListQueryHandlerTests)}_{nameof(Handle_HasBoards_FiltersByBoardUser)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();
            var userId            = "user-id";

            _currentUser.Setup(u => u.UserId).Returns(userId);

            var boardFactory = new BoardFactory();
            var board1       = boardFactory.Create("board1-title");
            var board2       = boardFactory.Create("board2-title");
            var boardUser    = factory.CreateOwner(1, userId);

            context.Boards.AddRange(board1, board2);
            context.BoardUsers.Add(boardUser);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new GetBoardsListQueryHandler(context, _currentUser.Object);
            var dto     = await handler.Handle(new GetBoardsListQuery(), cancellationToken);

            Assert.Single(dto.Boards);
            Assert.Equal(boardUser.BoardId, dto.Boards.First().Id);
        }
Ejemplo n.º 2
0
        public async Task Handle_ActivityIdExists_EditsActivity()
        {
            var dbName = $"{nameof(EditActivityCommandHandlerTests)}_{nameof(Handle_ActivityIdExists_EditsActivity)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var activity = Activity.Create("test-title");

            context.Activities.Add(activity);
            await context.SaveChangesAsync(cancellationToken);

            var editedTitle       = "edited-title";
            var editedDescription = "edited-description";
            var handler           = new EditActivityCommandHandler(context);
            var request           = new EditActivityCommand {
                ActivityId = 1, Title = editedTitle, Description = editedDescription
            };

            await handler.Handle(request, cancellationToken);

            var activityFromDb = await context.Activities.FirstOrDefaultAsync(a => a.Id == 1, cancellationToken);

            Assert.NotNull(activityFromDb);
            Assert.Equal(editedTitle, activityFromDb.Title);
            Assert.Equal(editedDescription, activityFromDb.Description);
        }
        public async Task Handle_CardIdExists_EditsCard()
        {
            var dbName = $"{nameof(EditCardCommandHandlerTests)}_{nameof(Handle_CardIdExists_EditsCard)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var card = Card.Create("test-title");

            context.Cards.Add(card);
            await context.SaveChangesAsync(cancellationToken);

            var editedTitle = "edited-title";
            var handler     = new EditCardCommandHandler(context);
            var request     = new EditCardCommand {
                CardId = 1, Title = editedTitle
            };

            await handler.Handle(request, cancellationToken);

            var cardFromDb = await context.Cards.FirstOrDefaultAsync(c => c.Id == 1, cancellationToken);

            Assert.NotNull(cardFromDb);
            Assert.Equal(editedTitle, cardFromDb.Title);
        }
Ejemplo n.º 4
0
        public async Task Handle_BoardIdExists_ReturnsBoardUserType()
        {
            var dbName = $"{nameof(GetBoardQueryHandlerTests)}_{nameof(Handle_BoardIdExists_ReturnsBoardUserType)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var boardFactory     = new BoardFactory();
            var boardUserFactory = new BoardUserFactory();
            var userId           = "user-id";
            var board            = boardFactory.Create("board-title");
            var boardUser        = boardUserFactory.CreateOwner(1, userId);
            var boardUserType    = boardUser.Type.ToString().ToLower();

            context.Boards.Add(board);
            context.BoardUsers.Add(boardUser);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new GetBoardQueryHandler(context);
            var request = new GetBoardQuery(1);

            var dto = await handler.Handle(request, cancellationToken);

            Assert.Equal(boardUserType, dto.BoardUserType);
        }
Ejemplo n.º 5
0
        public async Task Handle_AllActivitiesExistAndBelongToSameCard_ReordersActivities()
        {
            var dbName = $"{nameof(ReorderActivitiesCommandHandlerTests)}_{nameof(Handle_AllActivitiesExistAndBelongToSameCard_ReordersActivities)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var card      = Card.Create("card-title");
            var activity1 = Activity.Create("activity1-title", 0);
            var activity2 = Activity.Create("activity2-title", 1);

            card.AddActivity(activity1);
            card.AddActivity(activity2);
            context.Cards.Add(card);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new ReorderActivitiesCommandHandler(context, new ActivityService());
            var request = new ReorderActivitiesCommand {
                ActivityIds = new List <int> {
                    2, 1
                }
            };

            await handler.Handle(request, cancellationToken);

            var activity1FromDb = await context.Activities.FirstOrDefaultAsync(a => a.Id == 1, cancellationToken);

            var activity2FromDb = await context.Activities.FirstOrDefaultAsync(a => a.Id == 2, cancellationToken);

            Assert.NotNull(activity1FromDb);
            Assert.NotNull(activity2FromDb);
            Assert.Equal(0, activity2FromDb.Order);
            Assert.Equal(1, activity1FromDb.Order);
        }
Ejemplo n.º 6
0
        public async Task Handle_AllCardsExistAndBelongToSameBoard_ReordersCards()
        {
            var dbName            = $"{nameof(ReorderCardsCommandHandlerTests)}_{nameof(Handle_AllCardsExistAndBelongToSameBoard_ReordersCards)}";
            var context           = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var boardFactory = new BoardFactory();
            var board        = boardFactory.Create("board-title");
            var card1        = Card.Create("card1-title");
            var card2        = Card.Create("card2-title");

            board.AddCard(card1);
            board.AddCard(card2);
            context.Boards.Add(board);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new ReorderCardsCommandHandler(context, new CardService());
            var request = new ReorderCardsCommand {
                CardIds = new List <int> {
                    2, 1
                }
            };

            await handler.Handle(request, cancellationToken);

            var card1FromDb = await context.Cards.FirstOrDefaultAsync(c => c.Id == 1, cancellationToken);

            var card2FromDb = await context.Cards.FirstOrDefaultAsync(c => c.Id == 2, cancellationToken);

            Assert.NotNull(card1FromDb);
            Assert.NotNull(card2FromDb);
            Assert.Equal(0, card2FromDb.Order);
            Assert.Equal(1, card1FromDb.Order);
        }
Ejemplo n.º 7
0
        public async Task Handle_BoardIdExists_ReturnDto()
        {
            var dbName = $"{nameof(GetBoardQueryHandlerTests)}_{nameof(Handle_BoardIdExists_ReturnDto)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var boardFactory = new BoardFactory();
            var board        = boardFactory.Create("board-title");
            var card         = Card.Create("card-title");
            var activity     = Activity.Create("activity-title");

            board.AddCard(card);
            card.AddActivity(activity);
            context.Boards.Add(board);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new GetBoardQueryHandler(context);
            var request = new GetBoardQuery(1);

            var dto = await handler.Handle(request, cancellationToken);

            var dtoCard     = dto.Cards.FirstOrDefault();
            var dtoActivity = dtoCard.Activities.FirstOrDefault();

            Assert.NotNull(dto);
            Assert.Equal(1, dto.Id);
            Assert.NotNull(dto.Cards);
            Assert.Single(dto.Cards);
            Assert.Equal(1, dtoCard.Id);
            Assert.NotNull(dtoCard.Activities);
            Assert.Single(dtoCard.Activities);
            Assert.Equal(1, dtoActivity.Id);
        }
Ejemplo n.º 8
0
        public async Task Handle_AccessCodeFound_CreateBoardUser()
        {
            var dbName = $"{nameof(JoinBoardCommandHandlerTests)}_{nameof(Handle_AccessCodeFound_CreateBoardUser)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();
            var boardFactory      = new BoardFactory();
            var board             = boardFactory.Create("board-title");

            context.Boards.Add(board);
            await context.SaveChangesAsync(cancellationToken);

            var userId = "user-id";

            _currentUser.Setup(u => u.UserId).Returns(userId);

            var handler = new JoinBoardCommandHandler(context, _currentUser.Object, new BoardUserFactory());
            var command = new JoinBoardCommand {
                AccessCode = board.AccessCode
            };
            var dto = await handler.Handle(command, cancellationToken);

            var boardUser = await context.BoardUsers
                            .FirstOrDefaultAsync(bu => bu.BoardId == board.Id && bu.UserId == userId);

            Assert.NotNull(boardUser);
            Assert.Equal(board.Id, dto.BoardId);
        }
Ejemplo n.º 9
0
        public async Task Handle_AnyCardNotBelongsToSameBoard_ThrowsInvalidOperationApplicationException()
        {
            var dbName            = $"{nameof(ReorderCardsCommandHandlerTests)}_{nameof(Handle_AnyCardNotBelongsToSameBoard_ThrowsInvalidOperationApplicationException)}";
            var context           = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var boardFactory = new BoardFactory();
            var board1       = boardFactory.Create("board1-title");
            var board2       = boardFactory.Create("board2-title");
            var card1        = Card.Create("card1-title");
            var card2        = Card.Create("card2-title");

            board1.AddCard(card1);
            board2.AddCard(card2);
            context.Boards.AddRange(board1, board2);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new ReorderCardsCommandHandler(context, new CardService());
            var request = new ReorderCardsCommand {
                CardIds = new List <int> {
                    1, 2
                }
            };

            Task <Unit> action() => handler.Handle(request, cancellationToken);

            await Assert.ThrowsAsync <InvalidOperationApplicationException>(action);
        }
Ejemplo n.º 10
0
        public async Task Handle_BoardIdExists_ReturnsCardsInOrder()
        {
            var dbName = $"{nameof(GetBoardQueryHandlerTests)}_{nameof(Handle_BoardIdExists_ReturnsCardsInOrder)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var boardFactory = new BoardFactory();
            var board        = boardFactory.Create("board-title");
            var card1        = Card.Create("card1-title", 1);
            var card2        = Card.Create("card2-title", 0);

            board.AddCard(card1);
            board.AddCard(card2);
            context.Boards.Add(board);
            await context.SaveChangesAsync(cancellationToken);

            var orderedCardIds = await context.Cards
                                 .Where(c => c.BoardId == board.Id)
                                 .OrderBy(c => c.Order)
                                 .Select(c => c.Id)
                                 .ToListAsync(cancellationToken);

            var handler = new GetBoardQueryHandler(context);
            var request = new GetBoardQuery(1);

            var dto = await handler.Handle(request, cancellationToken);

            var dtoCardIds = dto.Cards.Select(c => c.Id).ToList();

            Assert.Equal(orderedCardIds, dtoCardIds);
        }
        public async Task HasPermissionForActivity_BoardUserExists_ReturnOutputOfIBoardUserPermissionService()
        {
            var userId = "user-id";

            _currentUser.Setup(u => u.UserId).Returns(userId);
            _boardUserPermissionService.Setup(s => s.HasPermission(It.IsAny <BoardUser>(), It.IsAny <BoardUserPermission>())).Returns(true);

            var dbName = $"{nameof(CurrentUserPermissionServiceTests)}_{nameof(HasPermissionForActivity_BoardUserExists_ReturnOutputOfIBoardUserPermissionService)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();
            var boardFactory      = new BoardFactory();
            var board             = boardFactory.Create("board-title");
            var card      = Card.Create("card-title");
            var activity  = Activity.Create("activity-title");
            var boardUser = new BoardUserFactory().CreateOwner(1, userId);

            board.AddCard(card);
            card.AddActivity(activity);
            context.Boards.Add(board);
            context.BoardUsers.Add(boardUser);
            await context.SaveChangesAsync(cancellationToken);

            var service = new CurrentUserPermissionService(context, _currentUser.Object, _boardUserPermissionService.Object);

            var result = await service.HasPermissionForActivity(activity.Id, BoardUserPermission.CAN_VIEW_ACTIVITY, cancellationToken);

            Assert.True(result);
        }
        public async Task Handle_BoardExists_ReturnsCardCreatedDtoWithCorrectPropValues()
        {
            var dbName = $"{nameof(AddCardToBoardCommandHandlerTests)}_{nameof(Handle_BoardExists_ReturnsCardCreatedDtoWithCorrectPropValues)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var boardFactory      = new BoardFactory();
            var board             = boardFactory.Create("board-title");
            var cancellationToken = new CancellationToken();

            context.Boards.Add(board);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new AddCardToBoardCommandHandler(context);
            var request = new AddCardToBoardCommand {
                BoardId = board.Id, Title = "card-title"
            };

            var cardCreatedDto = await handler.Handle(request, cancellationToken);

            var card = await context.Cards.FirstOrDefaultAsync(c => c.BoardId == board.Id);

            Assert.NotNull(cardCreatedDto);
            Assert.Equal(card.Id, cardCreatedDto.CardId);
            Assert.Equal(card.BoardId, cardCreatedDto.BoardId);
        }
Ejemplo n.º 13
0
        public async Task Handle_AnyActivityNotBelongsToSameCard_ThrowsInvalidOperationApplicationException()
        {
            var dbName = $"{nameof(ReorderActivitiesCommandHandlerTests)}_{nameof(Handle_AnyActivityNotBelongsToSameCard_ThrowsInvalidOperationApplicationException)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var card1     = Card.Create("card1-title");
            var card2     = Card.Create("card2-title");
            var activity1 = Activity.Create("activity1-title");
            var activity2 = Activity.Create("activity2-title");

            card1.AddActivity(activity1);
            card2.AddActivity(activity2);
            context.Cards.AddRange(card1, card2);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new ReorderActivitiesCommandHandler(context, new ActivityService());
            var request = new ReorderActivitiesCommand {
                ActivityIds = new List <int> {
                    1, 2
                }
            };

            Task <Unit> action() => handler.Handle(request, cancellationToken);

            await Assert.ThrowsAsync <InvalidOperationApplicationException>(action);
        }
        public async Task Handle_ActivityIdAndCardIdExist_SetsActivityOrderToNull()
        {
            var dbName = $"{nameof(MoveActivityToCardCommandHandlerTests)}_{nameof(Handle_ActivityIdAndCardIdExist_SetsActivityOrderToNull)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var card1    = Card.Create("card1-title");
            var card2    = Card.Create("card2-title");
            var activity = Activity.Create("activity-title", 1);

            card1.AddActivity(activity);
            context.Cards.AddRange(card1, card2);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new MoveActivityToCardCommandHandler(context);
            var request = new MoveActivityToCardCommand {
                ActivityId = activity.Id, CardId = card2.Id
            };

            await handler.Handle(request, cancellationToken);

            var activityFromDb = await context.Activities.FirstOrDefaultAsync(a => a.Id == activity.Id, cancellationToken);

            Assert.Null(activityFromDb.Order);
        }
Ejemplo n.º 15
0
        public void Ctor_IActivityServiceNull_ThrowsArgumentNullException()
        {
            var dbName = $"{nameof(ReorderActivitiesCommandHandlerTests)}_{nameof(Ctor_IActivityServiceNull_ThrowsArgumentNullException)}";

            using var context = TestApplicationDbContext.Create(dbName);

            Assert.Throws <ArgumentNullException>(() => new ReorderActivitiesCommandHandler(context, null));
        }
        public void Ctor_IBoardUserPermissionServiceNull_ThrowsArgumentNullException()
        {
            var dbName = $"{nameof(CurrentUserPermissionServiceTests)}_{nameof(Ctor_IBoardUserPermissionServiceNull_ThrowsArgumentNullException)}";

            using var context = TestApplicationDbContext.Create(dbName);

            Assert.Throws <ArgumentNullException>(() => new CurrentUserPermissionService(context, _currentUser.Object, null));
        }
        public void Ctor_ICurrentUserNull_ThrowsArgumentNullException()
        {
            var dbName = $"{nameof(GetBoardsListQueryHandlerTests)}_{nameof(Ctor_ICurrentUserNull_ThrowsArgumentNullException)}";

            using var context = TestApplicationDbContext.Create(dbName);

            Assert.Throws <ArgumentNullException>(() => new GetBoardsListQueryHandler(context, null));
        }
        public void Ctor_IBoardFactory_ThrowsArgumentNullException()
        {
            var dbName = $"{nameof(CreateBoardCommandHandlerTests)}_{nameof(Ctor_IBoardFactory_ThrowsArgumentNullException)}";

            using var context = TestApplicationDbContext.Create(dbName);

            Assert.Throws <ArgumentNullException>(() => new CreateBoardCommandHandler(context, _currentUser.Object, null, new BoardUserFactory()));
        }
        public async Task HasPermissionForActivity_ActivityNotExists_ThrowNotFoundApplicationException()
        {
            var dbName  = $"{nameof(CurrentUserPermissionServiceTests)}_{nameof(HasPermissionForActivity_ActivityNotExists_ThrowNotFoundApplicationException)}";
            var context = TestApplicationDbContext.Create(dbName);
            var service = new CurrentUserPermissionService(context, _currentUser.Object, _boardUserPermissionService.Object);

            Task action() => service.HasPermissionForActivity(1, BoardUserPermission.CAN_VIEW_ACTIVITY, new CancellationToken());

            await Assert.ThrowsAsync <NotFoundApplicationException>(action);
        }
        public async Task Handle_NoBoards_ReturnsEmptyList()
        {
            var dbName = $"{nameof(GetBoardsListQueryHandlerTests)}_{nameof(Handle_NoBoards_ReturnsEmptyList)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var handler = new GetBoardsListQueryHandler(context, _currentUser.Object);

            var dto = await handler.Handle(new GetBoardsListQuery(), new CancellationToken());

            Assert.NotNull(dto.Boards);
            Assert.Empty(dto.Boards);
        }
Ejemplo n.º 21
0
        public async Task Handle_CardIdNotExists_ThrowsNotFoundApplicationException()
        {
            var dbName = $"{nameof(DeleteCardCommandHandlerTests)}_{nameof(Handle_CardIdNotExists_ThrowsNotFoundApplicationException)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var handler           = new DeleteCardCommandHandler(context);
            var request           = new DeleteCardCommand(1);
            var cancellationToken = new CancellationToken();

            Task <Unit> action() => handler.Handle(request, cancellationToken);

            await Assert.ThrowsAsync <NotFoundApplicationException>(action);
        }
Ejemplo n.º 22
0
        public async Task Handle_AccessCodeNotFound_ThrowNotFoundApplicationException()
        {
            var dbName = $"{nameof(JoinBoardCommandHandlerTests)}_{nameof(Handle_AccessCodeNotFound_ThrowNotFoundApplicationException)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var handler = new JoinBoardCommandHandler(context, _currentUser.Object, new BoardUserFactory());
            var command = new JoinBoardCommand {
                AccessCode = "accessCode"
            };
            var cancellationToken = new CancellationToken();

            Task <BoardJoinedDto> action() => handler.Handle(command, cancellationToken);

            await Assert.ThrowsAsync <NotFoundApplicationException>(action);
        }
Ejemplo n.º 23
0
        public async Task Handle_ActivityIdNotExists_ThrowsNotFoundApplicationException()
        {
            var dbName = $"{nameof(EditActivityCommandHandlerTests)}_{nameof(Handle_ActivityIdNotExists_ThrowsNotFoundApplicationException)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var handler = new EditActivityCommandHandler(context);
            var request = new EditActivityCommand {
                ActivityId = 1, Title = "test-title", Description = "test-description"
            };
            var cancellationToken = new CancellationToken();

            Task <Unit> action() => handler.Handle(request, cancellationToken);

            await Assert.ThrowsAsync <NotFoundApplicationException>(action);
        }
        public async Task Handle_CardNotExists_ThrowsNotFoundApplicationException()
        {
            var dbName = $"{nameof(AddCardToBoardCommandHandlerTests)}_{nameof(Handle_CardNotExists_ThrowsNotFoundApplicationException)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var boardId = 1;
            var handler = new AddCardToBoardCommandHandler(context);
            var request = new AddCardToBoardCommand {
                BoardId = boardId, Title = "card-title"
            };
            var cancellationToken = new CancellationToken();

            Task <CardCreatedDto> action() => handler.Handle(request, cancellationToken);

            await Assert.ThrowsAsync <NotFoundApplicationException>(action);
        }
        public async Task Handle_CreatesBoard()
        {
            var dbName = $"{nameof(CreateBoardCommandHandlerTests)}_{nameof(Handle_CreatesBoard)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var handler = new CreateBoardCommandHandler(context, _currentUser.Object, new BoardFactory(), new BoardUserFactory());
            var request = new CreateBoardCommand {
                Title = "test-title"
            };
            var cancellationToken = new CancellationToken();

            await handler.Handle(request, cancellationToken);

            var board = await context.Boards.FirstOrDefaultAsync(cancellationToken);

            Assert.NotNull(board);
            Assert.Equal(1, board.Id);
        }
        public async Task Handle_ActivityIdExists_DeletesActivity()
        {
            var dbName = $"{nameof(DeleteActivityCommandHandlerTests)}_{nameof(Handle_ActivityIdExists_DeletesActivity)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var activity = Activity.Create("activity-title");

            context.Activities.Add(activity);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new DeleteActivityCommandHandler(context);
            var request = new DeleteActivityCommand(1);
            await handler.Handle(request, cancellationToken);

            var activityFromDb = await context.Activities.FirstOrDefaultAsync(a => a.Id == 1);

            Assert.Null(activityFromDb);
        }
Ejemplo n.º 27
0
        public async Task Handle_CardIdExists_DeleteCard()
        {
            var dbName = $"{nameof(DeleteCardCommandHandlerTests)}_{nameof(Handle_CardIdExists_DeleteCard)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var card = Card.Create("card-title");

            context.Cards.Add(card);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new DeleteCardCommandHandler(context);
            var request = new DeleteCardCommand(1);
            await handler.Handle(request, cancellationToken);

            var cardFromDb = await context.Cards.FirstOrDefaultAsync(c => c.Id == 1);

            Assert.Null(cardFromDb);
        }
        public async Task Handle_CardIdNotExists_ThrowsNotFoundApplicationException()
        {
            var dbName = $"{nameof(MoveActivityToCardCommandHandlerTests)}_{nameof(Handle_CardIdNotExists_ThrowsNotFoundApplicationException)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var activity = Activity.Create("activity-title");

            context.Activities.Add(activity);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new MoveActivityToCardCommandHandler(context);
            var request = new MoveActivityToCardCommand {
                ActivityId = 1, CardId = 1
            };

            Task <Unit> action() => handler.Handle(request, cancellationToken);

            await Assert.ThrowsAsync <NotFoundApplicationException>(action);
        }
        public async Task HasPermissionForBoard_BoardUserNotExists_ReturnFalse()
        {
            var dbName = $"{nameof(CurrentUserPermissionServiceTests)}_{nameof(HasPermissionForBoard_BoardUserNotExists_ReturnFalse)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();
            var boardFactory      = new BoardFactory();
            var board             = boardFactory.Create("board-title");

            context.Boards.Add(board);
            await context.SaveChangesAsync(cancellationToken);

            var userId = "user-id";

            _currentUser.Setup(u => u.UserId).Returns(userId);

            var service = new CurrentUserPermissionService(context, _currentUser.Object, _boardUserPermissionService.Object);

            var result = await service.HasPermissionForBoard(board.Id, BoardUserPermission.CAN_VIEW_BOARD, cancellationToken);

            Assert.False(result);
        }
Ejemplo n.º 30
0
        public async Task Handle_AnyActivityIdNotExists_ThrowsNotFoundApplicationException()
        {
            var dbName = $"{nameof(ReorderActivitiesCommandHandlerTests)}_{nameof(Handle_AnyActivityIdNotExists_ThrowsNotFoundApplicationException)}";

            using var context = TestApplicationDbContext.Create(dbName);
            var cancellationToken = new CancellationToken();

            var activity = Activity.Create("activity-title");

            context.Activities.Add(activity);
            await context.SaveChangesAsync(cancellationToken);

            var handler = new ReorderActivitiesCommandHandler(context, new ActivityService());
            var request = new ReorderActivitiesCommand {
                ActivityIds = new List <int> {
                    1, 2
                }
            };

            Task <Unit> action() => handler.Handle(request, cancellationToken);

            await Assert.ThrowsAsync <NotFoundApplicationException>(action);
        }