コード例 #1
0
        public async Task <IActionResult> GetPrivateChats(int userId)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            return(Ok(await _chatsService.GetPrivateChats(userId)));
        }
コード例 #2
0
        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);
        }