public void Index_TestIndexView_ViewResult()
        {
            //Arrange
            ExploreController controller = new ExploreController();

            //Act
            ViewResult result = controller.Index() as ViewResult;

            //Assert
            Assert.AreEqual("Index", result.ViewName);
        }
        public void CallMethodGetAllCategories_FromServiceAimCategory()
        {
            // Arrange
            var mockedAimService         = new Mock <IAimService>();
            var mockedAimCategoryService = new Mock <IAimCategoryService>();
            var mockedMapper             = new Mock <IMapperAdapter>();

            mockedAimCategoryService.Setup(x => x.GetAimCategories()).Returns(new List <AimCategory>());

            ExploreController controller = new ExploreController(mockedAimService.Object,
                                                                 mockedAimCategoryService.Object, mockedMapper.Object);

            // Act
            controller.Index();

            // Assert
            mockedAimCategoryService.Verify(x => x.GetAimCategories(), Times.Once);
        }
        public void CallMapper()
        {
            // Arrange
            var mockedAimService         = new Mock <IAimService>();
            var mockedAimCategoryService = new Mock <IAimCategoryService>();
            var mockedMapper             = new Mock <IMapperAdapter>();
            var categories = new List <AimCategory>();

            mockedAimCategoryService.Setup(x => x.GetAimCategories()).Returns(categories);

            mockedMapper.Setup(x => x.Map <IEnumerable <AimCategoryViewModel> >(categories)).Verifiable();

            var controller = new ExploreController(mockedAimService.Object,
                                                   mockedAimCategoryService.Object, mockedMapper.Object);

            // Act
            controller.Index();

            // Assert
            mockedMapper.Verify(x => x.Map <IEnumerable <AimCategoryViewModel> >(categories), Times.Once);
        }
        public void Index_TestIndexData_ViewResult()
        {
            //Arrange
            ExploreController controller   = new ExploreController();
            DateTime          testDateTime = new DateTime(1234, 12, 23);
            Project           testProject  = new Project("Planner", "content", testDateTime, "Done");

            testProject.Save();
            DateTime newDateTime = new DateTime(2018, 6, 7);
            Project  newProject  = new Project("Wedding Planner", "new content", newDateTime, "In Progress");

            newProject.Save();
            List <Project> expectedProjects = new List <Project> {
                testProject, newProject
            };

            //Act
            ViewResult     result      = controller.Index() as ViewResult;
            List <Project> allProjects = result.ViewData.Model as List <Project>;

            //Assert
            CollectionAssert.AreEqual(expectedProjects, allProjects);
        }