Esempio n. 1
0
            public void InvalidPollType_ReturnsBadRequest()
            {
                IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>();
                Poll          existingPoll  = CreatePoll();

                existingPolls.Add(existingPoll);

                Vote testVote = new Vote()
                {
                    Poll = existingPoll
                };

                IDbSet <Ballot> existingBallots = DbSetTestHelper.CreateMockDbSet <Ballot>();

                IDbSet <Vote> existingVotes = DbSetTestHelper.CreateMockDbSet <Vote>();

                existingVotes.Add(testVote);

                IContextFactory       contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls, existingBallots, existingVotes);
                ManagePollTypeRequest request        = new ManagePollTypeRequest {
                    PollType = "NotAnChoice", MaxPerVote = 1, MaxPoints = 1
                };

                ManagePollTypeController controller = CreateManagePollTypeController(contextFactory);

                controller.Put(PollManageGuid, request);

                Assert.AreEqual(0, existingVotes.Local.Count);
            }
Esempio n. 2
0
            public void SetMaxValues_SetsMaxValues()
            {
                IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>();
                Poll          existingPoll  = CreatePoll();

                existingPolls.Add(existingPoll);

                IDbSet <Ballot> existingBallots = DbSetTestHelper.CreateMockDbSet <Ballot>();
                IDbSet <Vote>   existingVotes   = DbSetTestHelper.CreateMockDbSet <Vote>();

                int maxPerVote = 15;
                int maxPoints  = 17;

                IContextFactory       contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls, existingBallots, existingVotes);
                ManagePollTypeRequest request        = new ManagePollTypeRequest {
                    PollType = "UpDown", MaxPerVote = maxPerVote, MaxPoints = maxPoints
                };

                ManagePollTypeController controller = CreateManagePollTypeController(contextFactory);

                controller.Put(PollManageGuid, request);

                Assert.AreEqual(maxPerVote, existingPoll.MaxPerVote);
                Assert.AreEqual(maxPoints, existingPoll.MaxPoints);
            }
Esempio n. 3
0
            public void ChangingToPointsPollWithoutChangingPointsValuesGeneratesMetric()
            {
                // Arrange
                IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>();
                Poll          existingPoll  = CreatePoll();

                existingPoll.PollType   = PollType.Basic;
                existingPoll.MaxPerVote = 3;
                existingPoll.MaxPoints  = 7;
                existingPolls.Add(existingPoll);

                IDbSet <Vote> votes        = DbSetTestHelper.CreateMockDbSet <Vote>();
                Vote          existingVote = new Vote()
                {
                    Poll = existingPoll
                };

                votes.Add(existingVote);

                IContextFactory       contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls, DbSetTestHelper.CreateMockDbSet <Ballot>(), votes);
                ManagePollTypeRequest request        = new ManagePollTypeRequest {
                    PollType = "Points", MaxPerVote = 3, MaxPoints = 7
                };

                Mock <IMetricHandler>    mockMetricHandler = new Mock <IMetricHandler>();
                ManagePollTypeController controller        = CreateManagePollTypeController(contextFactory, mockMetricHandler.Object);

                // Act
                controller.Put(PollManageGuid, request);

                // Assert
                mockMetricHandler.Verify(m => m.HandlePollTypeChangedEvent(PollType.Points, 3, 7, existingPoll.UUID), Times.Once());
                mockMetricHandler.Verify(m => m.HandleVoteDeletedEvent(existingVote, existingPoll.UUID), Times.Once());
            }
Esempio n. 4
0
            public void IdenticalPollTypeDoesNotGenerateMetric()
            {
                // Arrange
                IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>();
                Poll          existingPoll  = CreatePoll();

                existingPoll.PollType   = PollType.Points;
                existingPoll.MaxPerVote = 3;
                existingPoll.MaxPoints  = 7;
                existingPolls.Add(existingPoll);

                IDbSet <Vote> votes        = DbSetTestHelper.CreateMockDbSet <Vote>();
                Vote          existingVote = new Vote()
                {
                    Poll = existingPoll
                };

                votes.Add(existingVote);

                IContextFactory       contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls, DbSetTestHelper.CreateMockDbSet <Ballot>(), votes);
                ManagePollTypeRequest request        = new ManagePollTypeRequest {
                    PollType = "Points", MaxPerVote = 3, MaxPoints = 7
                };

                Mock <IMetricHandler>    mockMetricHandler = new Mock <IMetricHandler>();
                ManagePollTypeController controller        = CreateManagePollTypeController(contextFactory, mockMetricHandler.Object);

                // Act
                controller.Put(PollManageGuid, request);

                // Assert
                mockMetricHandler.Verify(m => m.HandlePollTypeChangedEvent(It.IsAny <PollType>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <Guid>()), Times.Never());
                mockMetricHandler.Verify(m => m.HandleVoteDeletedEvent(It.IsAny <Vote>(), It.IsAny <Guid>()), Times.Never());
            }
Esempio n. 5
0
            public void UnChangedPollType_LeavesVotes()
            {
                IDbSet <Poll> existingPolls = DbSetTestHelper.CreateMockDbSet <Poll>();
                Poll          existingPoll  = CreatePoll();

                existingPoll.PollType   = PollType.Basic;
                existingPoll.MaxPoints  = 1;
                existingPoll.MaxPerVote = 1;
                existingPolls.Add(existingPoll);

                Vote testVote = new Vote()
                {
                    Poll = existingPoll
                };

                IDbSet <Ballot> existingBallots = DbSetTestHelper.CreateMockDbSet <Ballot>();

                IDbSet <Vote> existingVotes = DbSetTestHelper.CreateMockDbSet <Vote>();

                existingVotes.Add(testVote);

                IContextFactory       contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls, existingBallots, existingVotes);
                ManagePollTypeRequest request        = new ManagePollTypeRequest {
                    PollType = "Basic", MaxPerVote = 1, MaxPoints = 1
                };

                ManagePollTypeController controller = CreateManagePollTypeController(contextFactory);

                controller.Put(PollManageGuid, request);

                Assert.AreEqual(1, existingVotes.Local.Count);
            }
Esempio n. 6
0
            public void UnknownManageId_ReturnsNotFound()
            {
                IDbSet <Poll>         existingPolls  = DbSetTestHelper.CreateMockDbSet <Poll>();
                IContextFactory       contextFactory = ContextFactoryTestHelper.CreateContextFactory(existingPolls);
                ManagePollTypeRequest request        = new ManagePollTypeRequest {
                };

                ManagePollTypeController controller = CreateManagePollTypeController(contextFactory);

                controller.Put(Guid.NewGuid(), request);
            }