public void PollWithChoices_ReturnsAll()
            {
                const int    option1ChoiceNumber = 1;
                const string option1Name         = "Choice 1";
                const string option1Description  = "Description 1";

                const int    option2ChoiceNumber = 2;
                const string option2Name         = "Choice 2";
                const string option2Description  = "Description 2";


                IDbSet <Poll>   polls   = DbSetTestHelper.CreateMockDbSet <Poll>();
                IDbSet <Choice> options = DbSetTestHelper.CreateMockDbSet <Choice>();

                Poll poll = new Poll()
                {
                    ManageId = PollManageGuid
                };

                polls.Add(poll);

                Choice option1 = new Choice()
                {
                    Name             = option1Name,
                    Description      = option1Description,
                    PollChoiceNumber = option1ChoiceNumber
                };
                Choice option2 = new Choice()
                {
                    Name             = option2Name,
                    Description      = option2Description,
                    PollChoiceNumber = option2ChoiceNumber
                };

                options.Add(option1);
                options.Add(option2);

                poll.Choices.Add(option1);
                poll.Choices.Add(option2);

                IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(polls, options);

                ManageChoiceController controller = CreateManageChoiceController(contextFactory);

                IEnumerable <ManageChoiceResponseModel> response = controller.Get(PollManageGuid);

                Assert.AreEqual(2, response.Count());

                ManageChoiceResponseModel responseChoice1 = response.First();

                Assert.AreEqual(option1ChoiceNumber, responseChoice1.ChoiceNumber);
                Assert.AreEqual(option1Name, responseChoice1.Name);
                Assert.AreEqual(option1Description, responseChoice1.Description);

                ManageChoiceResponseModel responseChoice2 = response.Last();

                Assert.AreEqual(option2ChoiceNumber, responseChoice2.ChoiceNumber);
                Assert.AreEqual(option2Name, responseChoice2.Name);
                Assert.AreEqual(option2Description, responseChoice2.Description);
            }
            public void UnknownManageId_ReturnsNotFound()
            {
                IDbSet <Poll>   polls          = DbSetTestHelper.CreateMockDbSet <Poll>();
                IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(polls);

                ManageChoiceController controller = CreateManageChoiceController(contextFactory);

                controller.Get(PollManageGuid);
            }
            public void PollWithNoChoices_ReturnsEmptyList()
            {
                IDbSet <Poll> polls = DbSetTestHelper.CreateMockDbSet <Poll>();
                Poll          poll  = new Poll()
                {
                    ManageId = PollManageGuid
                };

                polls.Add(poll);

                IContextFactory contextFactory = ContextFactoryTestHelper.CreateContextFactory(polls);

                ManageChoiceController controller = CreateManageChoiceController(contextFactory);

                List <ManageChoiceResponseModel> response = controller.Get(PollManageGuid);

                CollectionAssert.AreEqual(new List <ManageChoiceResponseModel>(), response);
            }