public async Task Details_ReturnsCorrectResult() { var routeId = 100483; _routeServiceMock = new Mock <IRouteService>(); _routeServiceMock.Setup(r => r.GetByRouteIdAndCenterNumberAndRouteNumberAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(Task.FromResult(_searchableRoutes.First(r => r.RouteId == routeId))); _routeService = _routeServiceMock.Object; RouteManagerController controller = new RouteManagerController(_routeService, null, null, null) { ControllerContext = new ControllerContext() { HttpContext = _contextMock.Object } }; var result = await controller.Details(routeId, 22, "103T") as JsonResult; var model = JsonConvert.DeserializeObject <dynamic>(result.Data.ToString()); Assert.IsNotNull(model); Assert.AreEqual(routeId.ToString(), ((Newtonsoft.Json.Linq.JValue)Newtonsoft.Json.Linq.JObject.Parse(result.Data.ToString())["routeId"]).Value); }