Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 25th, 2012  |  syntax: None  |  size: 1.18 KB  |  hits: 10  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. How can I unit test my Json result in an ASP.NET MVC3 web site?
  2. var lotsOfFail = database.GetMeThatDamnDataList();
  3. var returnData = (from x in lotsOfFail
  4.                   select new
  5.                   {
  6.                       Id = x.Id,
  7.                       Name = x.Name
  8.                       ..
  9.                    }).ToList();
  10. return Json(returnData, JsonRequestBehavior.AllowGet);
  11.        
  12. // Act.
  13. JsonResult jsonResult = controller.PewPewKThxBai(null, null);
  14.  
  15. // Assert.    
  16. Assert.IsNotNull(jsonResult);
  17. dynamic data = jsonResult.Data;
  18. Assert.IsNotNull(data);
  19. Assert.IsTrue(data.Count >= 0);
  20.        
  21. // Assert.    
  22. Assert.IsNotNull(jsonResult);
  23. dynamic data = jsonResult.Data;
  24. Assert.IsNotNull(data);
  25.  
  26. var hardCodedData =
  27.     FakeWhatevers.CreateHardcodedWhatevers()
  28.     .Where(x => x.EventType == EventType.BannableViolation)
  29.     .ToList();
  30. Assert.IsTrue(data.Count >= hardCodedData .Count);
  31.  
  32. for (int i = 0; i < hardCodedData .Count; i++)
  33. {
  34.     Assert.AreEqual(data[0].Id== hardCodedData [0].GameServerId);
  35. }
  36.        
  37. for (int i = 0; i < hardCodedData.Count; i++)
  38. {
  39.     Assert.AreEqual(hardCodedData[i].GameServerId, data[i].Id);
  40.     Assert.AreEqual(hardCodedData[i].GameServerName, data[i].Name);
  41.     ...
  42. }