public void TestIndexAction_ReturnIndexView() { 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 = controller.Index() as ViewResult; Assert.AreEqual("Index", result.ViewName); }
public void TestIndexAction_ReturnIndexPageViewModel() { var data = new PhotoContestDataMock(); var contest = data.Contests; contest.Add(new Contest() { Id = 0, State = TypeOfEnding.Ongoing, Title = "test1", VotingStrategy = Strategy.Open, ParticipationEndTime = DateTime.Now.AddDays(10) }); contest.Add(new Contest() { Id = 1, State = TypeOfEnding.Dissmissed, Title = "test2", VotingStrategy = Strategy.Open, ContestEndTime = new DateTime(2010, 10, 10) }); contest.Add(new Contest() { Id = 2, State = TypeOfEnding.Finalized, Title = "test3", VotingStrategy = Strategy.Open, ContestEndTime = new DateTime(2011, 10, 10) }); contest.Add(new Contest() { Id = 3, State = TypeOfEnding.Ongoing, Title = "test4", VotingStrategy = Strategy.Open, ParticipationEndTime = DateTime.Now.AddDays(12) }); contest.Add(new Contest() { Id = 4, State = TypeOfEnding.Ongoing, Title = "test5", VotingStrategy = Strategy.Open, ParticipationEndTime = DateTime.Now.AddDays(13) }); int index = 0; var identity = new GenericIdentity("as"); 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.Index() as ViewResult; var contestResult = (IndexPageViewModel)result.ViewData.Model; foreach (var c in contest.All().Where(c => c.State == TypeOfEnding.Ongoing).OrderByDescending(c => c.ParticipationEndTime)) { Assert.AreEqual(c.Title, contestResult.OngoingContests.Skip(index).Take(1).First().Title); index++; } index = 0; foreach (var c in contest.All().Where(c => c.State != TypeOfEnding.Ongoing).OrderByDescending(c => c.ContestEndTime)) { Assert.AreEqual(c.Title, contestResult.EndedContests.Skip(index).Take(1).First().Title); index++; } }