public ActionResult AddHobby(HobbyModel model) { if (ModelState.IsValid) { _uow.HobbiesRepository.Insert(model.ToDto(_uow.LanguagesRepository.Get().ToList())); _uow.Save(); return(RedirectToAction(nameof(ShowHobbies))); } return(RedirectToAction(nameof(AddHobby))); }
public void Should_Transform_HobbyModel_To_Hobby() { var image = TestResources.TestsResources.test; var expectedStream = new MemoryStream(); image.Save(expectedStream, ImageFormat.Jpeg); var expectedWebImage = new WebImage(expectedStream); expectedWebImage.Resize(350, 200, false); var expected = new Hobby() { Id = 1, Content = expectedWebImage.GetBytes(), Texts = new List <Text>() { new Text() { Language = _languages[0], Value = "hb1.fr" }, new Text() { Language = _languages[1], Value = "hb1.en" } } }; var imgFake = new Mock <HttpPostedFileBase>(); imgFake.Setup(x => x.InputStream).Returns(new MemoryStream(expectedWebImage.GetBytes())); var act = new HobbyModel() { Picture = imgFake.Object, Texts = new List <TextModel>() { new TextModel() { Language = _languages[0], Value = "hb1.fr" }, new TextModel() { Language = _languages[1], Value = "hb1.en" } } }; var result = act.ToDto(_languages); Assert.AreEqual(expected.Content, result.Content); AssertExtension.CompareIEnumerable(expected.Texts, result.Texts, (x, y) => x.Language == y.Language && x.Value == y.Value); }
public void AddHobby_Get_Test() { // Act var uow = new UnitOfWorkFakeFactory().Uow.Object; var controller = new IntroductionController(uow); var result = controller.AddHobby() as ViewResult; var expected = new HobbyModel() { Texts = uow.LanguagesRepository.Get().ToList().Select(l => new TextModel() { Language = l }).ToList() }; // Assert Assert.IsNotNull(result); AssertExtension.PropertyValuesAreEquals(expected, result.Model); }
public static Hobby ToDto(this HobbyModel model, List <Language> languages) { var newHobby = new Hobby() { Texts = model.Texts.ToDto(languages) }; if (model.Picture == null) { return(newHobby); } var img = new WebImage(model.Picture.InputStream); if (img.Width != 350 || img.Height != 200) { img.Resize(350, 200, false); } newHobby.Content = img.GetBytes(); return(newHobby); }
public void AddHobby_Post_Test() { // Act var uow = new UnitOfWorkFakeFactory().Uow.Object; var image = TestResources.TestsResources.test; var expectedStream = new MemoryStream(); image.Save(expectedStream, ImageFormat.Jpeg); var expectedFile = new Mock <HttpPostedFileBase>(); expectedFile.Setup(x => x.InputStream).Returns(expectedStream); var paramStream = new MemoryStream(); image.Save(paramStream, ImageFormat.Jpeg); var paramFile = new Mock <HttpPostedFileBase>(); paramFile.Setup(x => x.InputStream).Returns(paramStream); var paramUser = new HobbyModel() { Picture = paramFile.Object, Texts = new List <TextModel>() { new TextModel() { Language = uow.LanguagesRepository.Get().ToList()[0], Value = "Graduation.fr" }, new TextModel() { Language = uow.LanguagesRepository.Get().ToList()[1], Value = "Graduation.en" } } }; var expected = new HobbyModel() { Picture = expectedFile.Object, Texts = new List <TextModel>() { new TextModel() { Language = uow.LanguagesRepository.Get().ToList()[0], Value = "Graduation.fr" }, new TextModel() { Language = uow.LanguagesRepository.Get().ToList()[1], Value = "Graduation.en" } } }.ToDto(uow.LanguagesRepository.Get().ToList()); expected.Id = uow.HobbiesRepository.Get().Count() + 1; var nbHobbies = uow.HobbiesRepository.Get().ToList().Count; var result = new IntroductionController(uow).AddHobby(paramUser) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); Assert.AreEqual(result.RouteValues["Action"], nameof(IntroductionController.ShowHobbies)); Assert.AreEqual(nbHobbies + 1, uow.HobbiesRepository.Get().Count()); AssertExtension.PropertyValuesAreEquals(expected, uow.HobbiesRepository.Get().Last()); }