Beispiel #1
0
        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"]);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }