예제 #1
0
        public void GetSkillsPartialView_ReturnPartialView_WithCorrectModel()
        {
            //Arrange
            var technologies = new List <Technology>()
            {
                new Technology(),
                new Technology()
            };
            var technologyLogicMock = new Mock <ITechnologyLogic>();

            technologyLogicMock.Setup(logic => logic.GetTechnologiesToShowInAboutMePage()).Returns(technologies);

            var aboutMeLogicMock = new Mock <IAboutMeLogic>();

            AboutMeController controllerUnderTests = new AboutMeController(aboutMeLogicMock.Object, technologyLogicMock.Object);

            //Act
            var result = controllerUnderTests.GetSkillsPartialView();


            //Assert
            var partialViewResult = Assert.IsType <PartialViewResult>(result);
            var model             = Assert.IsType <List <Technology> >(partialViewResult.Model);

            Assert.Equal(technologies.Count, model.Count);
        }
        public AboutMeControllerTests()
        {
            IQueryable <AboutMe> aboutMes = _aboutMe.AsQueryable();

            _mockSet.As <IQueryable <AboutMe> >().Setup(m => m.Provider).Returns(aboutMes.Provider);
            _mockSet.As <IQueryable <AboutMe> >().Setup(m => m.Expression).Returns(aboutMes.Expression);
            _mockSet.As <IQueryable <AboutMe> >().Setup(m => m.ElementType).Returns(aboutMes.ElementType);
            _mockSet.As <IQueryable <AboutMe> >().Setup(m => m.GetEnumerator()).Returns(() => aboutMes.GetEnumerator());
            _mockSet.Setup(d => d.Add(It.IsAny <AboutMe>())).Callback <AboutMe>((s) => _aboutMe.Add(s));
            _mockSet.Setup(d => d.Remove(It.IsAny <AboutMe>())).Callback <AboutMe>((s) => _aboutMe.Remove(s));

            _dbMock.Setup(x => x.SaveChanges()).Returns(1).Verifiable();

            _dbMock.Setup(x => x.AboutMe).Returns(_mockSet.Object);


            IRepository <AboutMe, int> repository = new AboutMeRepository(_dbMock.Object);

            _controller = new AboutMeController(repository);

            Mapper.Initialize(config =>
            {
                config.CreateMap <AboutMeViewModel, AboutMe>().ReverseMap();
                config.CreateMap <ContactViewModel, Contact>().ReverseMap();
                config.CreateMap <UpdateViewModel, ApplicationUser>().ReverseMap();
            });
        }
예제 #3
0
        public void GetTechnologiesToShowInAboutMePage()
        {
            var modelToReturn = new List <Technology>()
            {
                new Technology(),
                new Technology()
            };

            //Arrange
            var technologyLogicMock = new Mock <ITechnologyLogic>();

            technologyLogicMock.Setup(logic => logic.GetTechnologiesToShowInAboutMePage()).Returns(modelToReturn);

            var aboutMeLogicMock = new Mock <IAboutMeLogic>();

            AboutMeController controllerUnderTests = new AboutMeController(aboutMeLogicMock.Object, technologyLogicMock.Object);

            //Act
            var result = controllerUnderTests.GetTechnologiesToShowInAboutMePage();

            //Assert
            var jsonResult   = Assert.IsType <string>(result);
            var technologies = JsonConvert.DeserializeObject <List <Technology> >(jsonResult);

            Assert.Equal(modelToReturn.Count, technologies.Count);
        }
예제 #4
0
        public async Task Index_ReturnsAViewResult_WithAboutMeModel()
        {
            //Arrange
            var technologyLogicMock = new Mock <ITechnologyLogic>();

            var aboutMeLogicMock = new Mock <IAboutMeLogic>();
            var modelToReturn    = new AboutMe()
            {
                AboutMeId = 1, ImageLink = "link", Title = "Title", Text = "Text"
            };

            aboutMeLogicMock.Setup(logic => logic.GetAboutMeAsync()).ReturnsAsync(modelToReturn);

            AboutMeController controllerUnderTests = new AboutMeController(aboutMeLogicMock.Object, technologyLogicMock.Object);


            //Act
            var result = await controllerUnderTests.Index();

            //Assert
            var viewResult    = Assert.IsType <ViewResult>(result);
            var returnedModel = Assert.IsAssignableFrom <AboutMe>(viewResult.ViewData.Model);

            ComparisonResult res = MyComparer.Compare(modelToReturn, returnedModel);

            Assert.True(res.AreEqual);
        }
예제 #5
0
        public async Task Index_RedirectToErrorPage_WhenModelIsNull()
        {
            //Arrange
            var technologyLogicMock = new Mock <ITechnologyLogic>();

            var aboutMeLogicMock = new Mock <IAboutMeLogic>();

            aboutMeLogicMock.Setup(logic => logic.GetAboutMeAsync()).ReturnsAsync((AboutMe)null);

            AboutMeController controllerUnderTests = new AboutMeController(aboutMeLogicMock.Object, technologyLogicMock.Object);

            //Act
            var result = await controllerUnderTests.Index();

            //Assert
            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.Equal("Error", viewResult.ViewName);
        }
예제 #6
0
        public void GetSkillsPartialView_ReturnPartialView_WithEmptyModel_WhenLogicReturnNull()
        {
            //Arrange
            var technologyLogicMock = new Mock <ITechnologyLogic>();

            technologyLogicMock.Setup(logic => logic.GetTechnologiesToShowInAboutMePage()).Returns((List <Technology>)null);

            var aboutMeLogicMock = new Mock <IAboutMeLogic>();

            AboutMeController controllerUnderTests = new AboutMeController(aboutMeLogicMock.Object, technologyLogicMock.Object);

            //Act
            var result = controllerUnderTests.GetSkillsPartialView();


            //Assert
            var partialViewResult = Assert.IsType <PartialViewResult>(result);
            var model             = Assert.IsType <List <Technology> >(partialViewResult.Model);

            Assert.Empty(model);
        }
예제 #7
0
        public async Task Update_ShouldReturnSuccess_WhenSelectedTechnologiesAreNotNull_AndAboutMeIsNotNull()
        {
            //Arrange
            var technologyLogicMock = new Mock <ITechnologyLogic>();

            technologyLogicMock.Setup(logic => logic.UpdateShowInAboutMeTechnologiesAsync(It.IsAny <List <int> >())).ReturnsAsync(true);

            var aboutMeLogicMock = new Mock <IAboutMeLogic>();

            aboutMeLogicMock.Setup(logic => logic.UpdateAboutMeAsync(It.IsAny <AboutMe>())).ReturnsAsync(true);

            AboutMeController controllerUnderTests = new AboutMeController(aboutMeLogicMock.Object, technologyLogicMock.Object);

            //Act
            var result = await controllerUnderTests.Update(new AboutMe(), new List <int>());

            //Assert
            var     jsonResult     = Assert.IsType <JsonResult>(result);
            dynamic jsonResultData = jsonResult.Data;

            Assert.Equal(jsonResultData.success, true);
        }