Example #1
0
        public void QuestionController_CheckVote_Should_Return_Yes()
        {
            //Arrange
            List <Vote> myVotes = new List <Vote>()
            {
                new Vote()
                {
                    QuestionId = 0
                }
            };
            ApplicationUser user = new ApplicationUser()
            {
                UserName = "******",
                MyVotes  = myVotes
            };
            var mockedProvider = new Mock <IEfSociumDataProvider>();

            mockedProvider.Setup(p => p.FindUserByUsername(It.IsAny <string>())).Returns(user);
            var mockedService = new Mock <IQuestionService>();

            mockedService.Setup(s => s.GetProvider).Returns(mockedProvider.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.CheckVote(0);

            //Assert
            Assert.AreEqual("Yes", result.Data);
        }
Example #2
0
        public void QuestionController_CheckVote_Should_Call_Provider_Find_User_By_Username()
        {
            //Arrange
            ApplicationUser user = new ApplicationUser()
            {
                UserName = "******"
            };
            var mockedProvider = new Mock <IEfSociumDataProvider>();

            mockedProvider.Setup(p => p.FindUserByUsername(It.IsAny <string>())).Returns(user);
            var mockedService = new Mock <IQuestionService>();

            mockedService.Setup(s => s.GetProvider).Returns(mockedProvider.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
            controller.CheckVote(0);

            //Assert
            mockedProvider.Verify(p => p.FindUserByUsername(It.IsAny <string>()), Times.Once);
        }