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