I have a controller which gets Roles from DB & assigns to a dropdown
var items = (entities.tbllogins.GroupBy(a => a.Role).Select(a => a.FirstOrDefault())).ToList();//get count
ViewBag.drpitems = new SelectList(items, "Role", "Role");
return View();
In a View I have,
@Html.DropDownListFor(a => a.Role, (SelectList)ViewBag.drpitems, "Choose")
Now i wanted to write test case in my project for this scenario, I have tried
// Arrange
HomeController controller = new HomeController();
// Act
var result = controller.Login() as ViewResult;
var expectedCategories = new SelectList(new[] { "Admin", "User"});
// Execute
var actualCategories = (SelectList)result.ViewBag.drpitems;
Assert.IsNotNull(result);
Assert.AreEqual(expectedCategories.Count(), actualCategories.Count());
for (var i = 0; i < expectedCategories.Count(); i++)
{
Assert.AreEqual(expectedCategories.ElementAt(i).Value, actualCategories.ElementAt(i).Value);
Assert.AreEqual(expectedCategories.ElementAt(i).Text, actualCategories.ElementAt(i).Text);
}
I have referred test case writing in c# for the same,along with this also i have read many articles & blogs. But no success so far. Test says failed. Could anyone please help me where i missed in writing test case
Thanks
Aucun commentaire:
Enregistrer un commentaire