public async Task <IActionResult> GetPrivateChats(int userId) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } return(Ok(await _chatsService.GetPrivateChats(userId))); }
public async Task GetPrivateChats_ShouldBeDoneSuccessfully() { // Arrange var lastMessageDateTime = DateTime.Now; var userDtoList = new List <UserToReturnMiniDto>(); var messageDtoList = new List <MessageToReturnDto>(); var chatDtoList = new List <ChatToReturnDto>() { new ChatToReturnDto() { Id = 1, Name = "Test", Type = ChatType.Private, LastMessage = lastMessageDateTime, Messages = messageDtoList, Users = userDtoList } }; _unitOfWorkMock.Setup(x => x.Chats.GetPrivateChats(It.IsAny <int>())) .ReturnsAsync(It.IsAny <List <Chat> >()); _mapper.Setup(x => x.Map <ICollection <ChatToReturnDto> >(It.IsAny <List <Chat> >())) .Returns(chatDtoList); // Act var result = await _sut.GetPrivateChats(It.IsAny <int>()); // Assert var chatDto = result.FirstOrDefault(); Assert.NotNull(chatDto); Assert.Equal(1, chatDto.Id); Assert.Equal("Test", chatDto.Name); Assert.Equal(userDtoList, chatDto.Users); Assert.Equal(ChatType.Private, chatDto.Type); Assert.Equal(messageDtoList, chatDto.Messages); Assert.Equal(lastMessageDateTime, chatDto.LastMessage); }