public void SavesVoteToDatabaseWhenVotingPollExists() { _ctx.VotingPolls.Add(NewPoll()); _ctx.SaveChanges(); _votingInteractor.Vote(new Vote { UserId = "user", CounterId = 1 }); AssertVotedForCounter(_ctx, "user", 1); }
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); }
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)); }