public void SavesVoteToDatabaseWhenVotingPollExists()
        {
            _ctx.VotingPolls.Add(NewPoll());
            _ctx.SaveChanges();

            _votingInteractor.Vote(new Vote {
                UserId = "user", CounterId = 1
            });

            AssertVotedForCounter(_ctx, "user", 1);
        }
Beispiel #2
0
        public void SavesVoteToDatabaseWhenVotingPollExists()
        {
            _ctx.VotingPolls.Add(NewPoll());
            _ctx.SaveChanges();

            _votingInteractor.Vote(new Vote {
                UserId = "user", CounterId = 1
            });

            var vote = _ctx.Votes.Single();

            Assert.Equal("user", vote.UserId);
            Assert.Equal(1, vote.CounterId);

            var counter = _ctx.Counters.Include(x => x.Votes).First(x => x.Id == 1);

            Assert.Single(counter.Votes);
        }
Beispiel #3
0
        public IActionResult OnPost(int counterId, [FromServices] VotingInteractor interactor)
        {
            var email = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email).Value;

            interactor.Vote(new Vote
            {
                UserId    = email,
                CounterId = counterId
            });

            return(Redirect(Request.Path.Value));
        }