private static ManageVoteResponseModel CreateManageVoteResponse(Ballot ballot) { var model = new ManageVoteResponseModel { BallotManageGuid = ballot.ManageGuid, Votes = new List <VoteResponse>() }; if (ballot.VoterName != null) { model.VoterName = ballot.VoterName; } foreach (Vote vote in ballot.Votes) { var voteResponse = new VoteResponse { ChoiceNumber = vote.Choice.PollChoiceNumber, Value = vote.VoteValue, ChoiceName = vote.Choice.Name }; model.Votes.Add(voteResponse); } return(model); }
public void PollWithBallotsWithVotes_ReturnsAll() { var manageGuid = new Guid("A76287F6-BC56-421C-9294-A477D1E9C4B3"); const string voterName = "Derek"; const int optionNumber = 1; const string optionName = "Value?"; const int optionValue = 23; IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>(); var poll = new Poll() { ManageId = PollManageGuid }; var ballot = new Ballot() { ManageGuid = manageGuid, VoterName = voterName, TokenGuid = new Guid("1AC3FABB-A077-4EF3-84DC-62074BA8FDF1") }; var vote = new Vote() { Choice = new Choice() { PollChoiceNumber = optionNumber, Name = optionName }, VoteValue = optionValue }; ballot.Votes.Add(vote); poll.Ballots.Add(ballot); existingPolls.Add(poll); IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls); ManageVoterController controller = CreateManageVoteController(contextFactory); List <ManageVoteResponseModel> response = controller.Get(PollManageGuid); Assert.AreEqual(1, response.Count); ManageVoteResponseModel responseBallot = response[0]; Assert.AreEqual(manageGuid, responseBallot.BallotManageGuid); Assert.AreEqual(voterName, responseBallot.VoterName); Assert.AreEqual(1, responseBallot.Votes.Count); VoteResponse responseVote = responseBallot.Votes[0]; Assert.AreEqual(optionName, responseVote.ChoiceName); Assert.AreEqual(optionValue, responseVote.Value); Assert.AreEqual(optionNumber, responseVote.ChoiceNumber); }
public void MultiplePolls_ReturnsOnlyRequested() { Guid otherManageGuid = new Guid("35FC553F-2F0E-49E0-A919-802900262046"); const string expectedVoterName = "Expected Voter"; const string otherVoterName = "Someone else voting"; const string expectedChoiceName = "SomeChoice"; const int expectedChoiceNumber = 3; var expectedChoice = new Choice() { PollChoiceNumber = expectedChoiceNumber, Name = expectedChoiceName }; const int expectedVoteValue = 42; const int otherChoiceNumber = 1; var otherChoice = new Choice() { PollChoiceNumber = otherChoiceNumber, Name = "Some Other Choice" }; const int otherVoteValue = 16; IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>(); var poll1 = new Poll() { ManageId = PollManageGuid, Ballots = new List <Ballot>() { CreateBallot(expectedVoterName, CreateVote(expectedChoice, expectedVoteValue)) } }; var poll2 = new Poll() { ManageId = otherManageGuid, Ballots = new List <Ballot>() { CreateBallot(otherVoterName, CreateVote(otherChoice, otherVoteValue)) } }; existingPolls.Add(poll1); existingPolls.Add(poll2); IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls); ManageVoterController controller = CreateManageVoteController(contextFactory); List <ManageVoteResponseModel> response = controller.Get(PollManageGuid); Assert.AreEqual(1, response.Count); ManageVoteResponseModel responseBallot = response[0]; Assert.AreEqual(expectedVoterName, responseBallot.VoterName); Assert.AreEqual(1, responseBallot.Votes.Count); VoteResponse responseVote = responseBallot.Votes[0]; Assert.AreEqual(expectedChoiceName, responseVote.ChoiceName); Assert.AreEqual(expectedVoteValue, responseVote.Value); Assert.AreEqual(expectedChoiceNumber, responseVote.ChoiceNumber); }