public virtual ActionResult GetInitiativeSuggestion(InitiativeSuggestion initiativeSuggestion)
        {
            SetNavigationHierarchy(GetInitiativeSuggestionsNavigationItems(), initiativeSuggestion.Title);

            var getInitiativeSuggestionViewModel = new GetInitiativeSuggestionViewModel(initiativeSuggestion);

            return View(getInitiativeSuggestionViewModel);
        }
        public virtual ActionResult AddInitiativeSuggestion(AddInitiativeSuggestionFormViewModel form)
        {
            InitiativeSuggestion initiativeSuggestion = null;
            return Handle(() =>
                              {
                                  initiativeSuggestion = new InitiativeSuggestion(form.Title, form.Description);

                                  _documentSession.Store(initiativeSuggestion);
                              },
                              success: () => MVC.InitiativeSuggestion.GetInitiativeSuggestion(initiativeSuggestion));
        }
Пример #3
0
        public void AddVotePost_PositiveVoteOfAnonymousUser_CorrectVoteValueAndUserId()
        {
            var initiativeSuggestion = new InitiativeSuggestion("title", "description");
            SetupData(x => x.Store(initiativeSuggestion));

            _testControllerBuilder.HttpContext.Request.Stub(x => x.UserHostAddress).Return("10.10.10.10");

            ExecuteAction<SharedController>(controller => controller.AddVote(initiativeSuggestion.Id, true));

            _controller.ModelState.Count.ShouldBe(1);
            _controller.ModelState[""].Errors.ShouldAllBeEquivalentTo(new ModelErrorCollection() { "Ваш голос принят" });

            var initiativeSuggestionDb = _documentStore.OpenSession().Load<InitiativeSuggestion>(initiativeSuggestion.Id);
            initiativeSuggestionDb.Votes.ShouldAllBeEquivalentTo(new List<Vote>() { new Vote(1, "10.10.10.10", null) });
        }
Пример #4
0
        public void AddVotePost_AnonymousUserVoteFromAlreadyVotedIp_DoNotAccept()
        {
            var initiativeSuggestion = new InitiativeSuggestion("title", "description");
            initiativeSuggestion.Votes.Add(new Vote(1, "10.10.10.10", null));
            SetupData(x => x.Store(initiativeSuggestion));

            _testControllerBuilder.HttpContext.Request.Stub(x => x.UserHostAddress).Return("10.10.10.10");

            ExecuteAction<SharedController>(controller => controller.AddVote(initiativeSuggestion.Id, true));

            _controller.ModelState.Count.ShouldBe(1);
            _controller.ModelState[""].Errors.ShouldAllBeEquivalentTo(new ModelErrorCollection() { "Вы уже проголосовали" });

            var initiativeSuggestionDb = _documentStore.OpenSession().Load<InitiativeSuggestion>(initiativeSuggestion.Id);
            initiativeSuggestionDb.Votes.ShouldAllBeEquivalentTo(new List<Vote>() { new Vote(1, "10.10.10.10", null) });
        }
Пример #5
0
        public void AddVotePost_NegativeVoteOfRegisteredUser_CorrectVoteValueAndUserId()
        {
            var initiativeSuggestion = new InitiativeSuggestion("title", "description");
            SetupData(x => x.Store(initiativeSuggestion));

            _testControllerBuilder.HttpContext.Request.Stub(x => x.UserHostAddress).Return("10.10.10.10");
            _testControllerBuilder.HttpContext.Items[FrontendConstants.UserKey] = new User() {Id = "Users/1"};

            ExecuteAction<SharedController>(controller => controller.AddVote(initiativeSuggestion.Id, false));

            _controller.ModelState.Count.ShouldBe(1);
            _controller.ModelState[""].Errors.ShouldAllBeEquivalentTo(new ModelErrorCollection() { "Ваш голос принят" });

            var initiativeSuggestionDb = _documentStore.OpenSession().Load<InitiativeSuggestion>(initiativeSuggestion.Id);
            initiativeSuggestionDb.Votes.ShouldAllBeEquivalentTo(new List<Vote>() { new Vote(-1, "10.10.10.10", "Users/1") });
        }
Пример #6
0
        public void AddVotePost_RegisteredUserSecondVote_DoNotAccept()
        {
            var initiativeSuggestion = new InitiativeSuggestion("title", "description");
            initiativeSuggestion.Votes.Add(new Vote(1, "10.10.10.10", "Users/1"));
            SetupData(x => x.Store(initiativeSuggestion));

            _testControllerBuilder.HttpContext.Items[FrontendConstants.UserKey] = new User() { Id = "Users/1" };

            ExecuteAction<SharedController>(controller => controller.AddVote(initiativeSuggestion.Id, true));

            _controller.ModelState.Count.ShouldBe(1);
            _controller.ModelState[""].Errors.ShouldAllBeEquivalentTo(new ModelErrorCollection() { "Вы уже проголосовали" });

            var initiativeSuggestionDb = _documentStore.OpenSession().Load<InitiativeSuggestion>(initiativeSuggestion.Id);
            initiativeSuggestionDb.Votes.ShouldAllBeEquivalentTo(new List<Vote>() { new Vote(1, "10.10.10.10", "Users/1") });
        }