示例#1
0
        public void QuestionController_CheckOption_Should_Return_Json_Yes()
        {
            //Arrange
            ApplicationUser user = new ApplicationUser()
            {
                UserName = "******"
            };
            List <Option> options = new List <Option>()
            {
                new Option()
                {
                    Id          = 1,
                    Description = "test",
                    Owner       = user
                }
            };
            Question question = new Question()
            {
                Id      = 0,
                Title   = "test",
                Owner   = user,
                Options = options
            };
            var mockedRepo = new Mock <IEfRepository <Question> >();

            mockedRepo.Setup(r => r.GetBy(It.IsAny <int>())).Returns(question);
            var mockedService = new Mock <IQuestionService>();

            mockedService.Setup(s => s.GetProvider.Questions).Returns(mockedRepo.Object);
            var helper = new MapperHelper();

            var mockPrincipal = new Mock <IPrincipal>();

            mockPrincipal.SetupGet(p => p.Identity.Name).Returns("Pesho");
            mockPrincipal.Setup(p => p.IsInRole("User")).Returns(true);

            // create mock controller context
            var mockContext = new Mock <ControllerContext>();

            mockContext.SetupGet(p => p.HttpContext.User).Returns(mockPrincipal.Object);
            mockContext.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);

            QuestionController controller = new QuestionController(mockedService.Object, helper)
            {
                ControllerContext = mockContext.Object
            };

            //Act
            var result = controller.CheckOption(0);

            //Assert
            Assert.AreEqual("Yes", result.Data);
        }
示例#2
0
        public void QuestionController_CheckOption_Should_Return_Json_No()
        {
            //Arrange
            ApplicationUser user = new ApplicationUser()
            {
                Id       = "0",
                UserName = "******"
            };
            List <Option> options = new List <Option>()
            {
                new Option()
                {
                    Id          = 1,
                    Description = "test",
                    OwnerId     = "0",
                    Owner       = user
                }
            };
            Question question = new Question()
            {
                Id      = 0,
                Title   = "test",
                OwnerId = "0",
                Owner   = user,
                Options = options
            };
            var mockedRepo = new Mock <IEfRepository <Question> >();

            mockedRepo.Setup(r => r.GetBy(It.IsAny <int>())).Returns(question);
            var mockedService = new Mock <IQuestionService>();

            mockedService.Setup(s => s.GetProvider.Questions).Returns(mockedRepo.Object);
            var helper          = new MapperHelper();
            var fakeHttpContext = new Mock <HttpContextBase>();
            var fakeIdentity    = new GenericIdentity("User");
            var principal       = new GenericPrincipal(fakeIdentity, null);

            fakeHttpContext.Setup(t => t.User).Returns(principal);
            var controllerContext = new Mock <ControllerContext>();

            controllerContext.Setup(t => t.HttpContext).Returns(fakeHttpContext.Object);

            QuestionController controller = new QuestionController(mockedService.Object, helper);

            controller.ControllerContext = controllerContext.Object;

            //Act
            var result = controller.CheckOption(0);

            //Assert
            Assert.AreEqual("No", result.Data);
        }