asp.net mvc 4 - Unit Testing to multiple RedirectToAction -
i'm new in of unit testing, , need code. it's working mvc 4.0 have call database, , don't understand how can start create unit testing if need open connection, hope can me.
this code:
[httppost] public actionresult add(user user, ienumerable<int> groups) { httpcookie cookie = request.cookies.get(securitymanager.cookiename); if (cookie != null) { if (securitymanager.haspermission(int.parse(cookie.values.get("id")),(int)permissionenum.adduser)) { list<group> gs = new list<group>(); if (groups != null) { foreach (int g in groups) { group gr = groupmanager.getgroup(g); gs.add(gr); } } user.groups = gs; if (usermanager.adduseremployee(user)) { return redirecttoaction("index"); } else { viewbag.groups = new multiselectlist( groupmanager.getmygroups(int.parse(cookie.values.get("id"))),"id", "name", groups); modelstate.addmodelerror("error", "error saving user."); return view(user); } } else { return redirecttoaction("nopermission", "home"); } } else { return redirecttoaction("logout", "home"); } }
how can test redirecttoaction
because have more one?
to test redirecttoaction results, cast result redirecttorouteresult follows:
// test case 1: redirecttorouteresult result = controller.adduser(user, groups) redirecttorouteresult; assert.equal("nopermission", result.routevalues["action"]); assert.equal("home", result.routevalues["controller"]); // test case 2: redirecttorouteresult result = controller.adduser(user, groups) redirecttorouteresult; assert.equal("logout", result.routevalues["action"]); assert.equal("home", result.routevalues["controller"]);
Comments
Post a Comment