public void TestRemoveParticipantAction_ContestNotExist_ShouldRedirectToGetUserContests() { var data = new PhotoContestDataMock(); var users = data.Users; users.Add(new ApplicationUser() { Id = "0", Email = "*****@*****.**", UserName = "******", FirstName = "*****@*****.**" }); 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 = (RedirectToRouteResult)controller.RemoveParticipant(0, "*****@*****.**"); Assert.AreEqual("GetUserContests", result.RouteValues["action"]); Assert.AreEqual("User", result.RouteValues["controller"]); }
public void TestRemoveParticipantAction_ContestExist_ShouldRemoveTheParticipantFromContest() { var data = new PhotoContestDataMock(); var users = data.Users; users.Add(new ApplicationUser() { Id = "0", Email = "*****@*****.**", UserName = "******", FirstName = "*****@*****.**" }); users.Add(new ApplicationUser() { Id = "1", Email = "*****@*****.**", UserName = "******", FirstName = "*****@*****.**" }); var contests = data.Contests; contests.Add(new Contest() { Id = 0, Title = "test", Description = "test", DeadlineStrategy = DeadlineStrategy.ByTime, MaxParticipationsCount = 5, ParticipationEndTime = DateTime.Now.AddDays(10), ParticipationStrategy = Strategy.Open, VotingStrategy = Strategy.Open, State = TypeOfEnding.Ongoing, OwnerId = users.All().First().Id, Participants = data.Users.All().Where(u => u.Id == "1").ToList() }); 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 = (RedirectToRouteResult)controller.RemoveParticipant(0, "1"); Assert.AreEqual(0, data.Contests.All().First().Participants.Count()); }