public async Task GetMessageThread_InvalidRequest_ReturnsUnauthorizedResult() { var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, "1"), })); var mapperMock = new Mock <IMapper>(); var repositoryMock = new Mock <IRepositoryWrapper>(); repositoryMock.Setup(r => r.MessageRepository.GetMessageThreadAsync(1, 1)).ReturnsAsync(new List <Message>()); mapperMock.Setup(m => m.Map <IEnumerable <MessageToReturnDto> >(It.IsAny <List <Message> >())).Returns(new List <MessageToReturnDto>()); var controllerMock = new MessagesController(repositoryMock.Object, mapperMock.Object); controllerMock.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; var result = await controllerMock.GetMessageThread(2, 1); Assert.IsType <UnauthorizedResult>(result); }