Exemplo n.º 1
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);
        }
        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_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);
        }
Exemplo n.º 4
0
        public void CreateOwner_ReturnsBoardUserWithOwnerType()
        {
            var boardId = 1;
            var userId  = "user-id";
            var factory = new BoardUserFactory();

            var boardUser = factory.CreateOwner(boardId, userId);

            Assert.Equal(boardId, boardUser.BoardId);
            Assert.Equal(userId, boardUser.UserId);
            Assert.Equal(BoardUserType.Owner, boardUser.Type);
        }