public void TestPostAction_ShouldRedirectToGetUserContests() { var contest = new ContestModel() { Description = "test", PossibleWinnersCount = 2, Title = "testov", MaxParticipationsCount = 10 }; var identity = new GenericIdentity("as"); identity.AddClaim(new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "0")); var controller = new ContestController(new PhotoContestDataMock()); var controllerContext = new TestableControllerContext(); var principal = new GenericPrincipal(identity, null); var testableHttpContext = new TestableHttpContext { User = principal }; controllerContext.HttpContext = testableHttpContext; controller.ControllerContext = controllerContext; var result = (RedirectToRouteResult)controller.Post(contest); Assert.AreEqual("Index", result.RouteValues["action"]); Assert.AreEqual("Prize", result.RouteValues["controller"]); }
public void TestPostAction_ValidModel_ShouldAddTheContest() { var data = new PhotoContestDataMock(); var users = data.Users; users.Add(new ApplicationUser() { Id = "0", Email = "*****@*****.**", UserName = "******", FirstName = "*****@*****.**" }); var contest = new ContestModel() { Title = "test", Description = "test", DeadlineStrategy = DeadlineStrategy.ByTime, MaxParticipationsCount = 5, ParticipationEndTime = DateTime.Now.AddDays(10), ParticipationStrategy = Strategy.Open, VotingStrategy = Strategy.Open }; var identity = new GenericIdentity("*****@*****.**"); identity.AddClaim(new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "0")); var controller = new ContestController(data); var controllerContext = new TestableControllerContext(); var principal = new GenericPrincipal(identity, null); var testableHttpContext = new TestableHttpContext { User = principal }; controllerContext.HttpContext = testableHttpContext; controller.ControllerContext = controllerContext; var result = controller.Post(contest) as ViewResult; Assert.IsTrue(data.IsSaveCalled); Assert.AreEqual(contest.Title, data.Contests.All().First().Title); }
public void TestPostAction_InvalidEndCondition_ShouldReturnAddView() { var contest = new ContestModel() { PossibleWinnersCount = 2 }; var identity = new GenericIdentity("as"); var controller = new ContestController(new PhotoContestDataMock()); var controllerContext = new TestableControllerContext(); var principal = new GenericPrincipal(identity, null); var testableHttpContext = new TestableHttpContext { User = principal }; controllerContext.HttpContext = testableHttpContext; controller.ControllerContext = controllerContext; var result = controller.Post(contest) as ViewResult; Assert.AreEqual("add", result.ViewName); }