magritton
10/17/2017 - 4:21 PM

Unit Test MVC JsonResult object

Unit Test MVC JsonResult object

DataTableAjaxPostModel model = new DataTableAjaxPostModel()
            {
                 draw = 1,
                 RecordsFiltered  = 2,
                 RecordsTotal = 3
            };

            DataTableHelper dataTableHelper = new DataTableHelper();
            var jsonResult = dataTableHelper.processData(model, usersDTO);
            var result = new RouteValueDictionary(jsonResult.Data);
            Assert.AreEqual(1, result["draw"]);
            Assert.AreEqual(3, result["RecordsFiltered"]);//these values are swapped in the function for the resultant datatable
            Assert.AreEqual(2, result["RecordsTotal"]);

            var userList = (List<UserDTO>)result["data"];
            Assert.AreEqual(3, userList.Count);

            var user = userList[0];
            Assert.AreEqual(user.Id, 1);