public void ShouldReturnDefaultViewModelWithNoErrorWhenModelIsValid() { // Arrange var success = new Result(ResultType.Success); var genreSvMock = new Mock <IGenreService>(); genreSvMock.Setup(x => x.AddGenre(It.IsAny <Genres>())).Returns(success); var fakeGenre = new GenreCreateViewModel(); var sut = new GenresController(genreSvMock.Object); var fakeHttpContext = new Mock <HttpContextBase>(); sut.ControllerContext = new ControllerContext { Controller = sut, HttpContext = fakeHttpContext.Object }; var mapper = new AutoMapperConfig(); mapper.Execute(Assembly.GetExecutingAssembly()); Mapper.Initialize(cfg => cfg.CreateMap <GenreCreateViewModel, Genres>()); // Act & Assert sut .WithCallTo(c => c.Create(fakeGenre)) .ShouldRenderDefaultView() .WithModel <GenreCreateViewModel>(x => Assert.AreEqual(x.Result.ResulType, ResultType.Success)); }
public IActionResult Create() { GenreCreateViewModel viewModel = new GenreCreateViewModel(); viewModel.Genre = new Genre(); return(View(viewModel)); }
public async Task CreateGenre(GenreCreateViewModel viewModel) { var genre = _mapper.Map <Genre>(viewModel); await _unitOfWork.Genres.Create(genre); await _unitOfWork.Save(); }
public IActionResult Create(GenreCreateViewModel viewModel) { Genre genre = new Genre { ID = viewModel.Genre.ID, Name = viewModel.Genre.Name }; genreService.Insert(genre); return(RedirectToAction("Index")); }
public async Task <IActionResult> Create(GenreCreateViewModel genreCreateViewModel) { if (ModelState.IsValid) { await _genreService.CreateGenre(genreCreateViewModel); _flashMessage.Confirmation("Genre has been created."); return(RedirectToAction(nameof(Index))); } return(View(genreCreateViewModel)); }
public ActionResult Create(GenreCreateViewModel model) { if (this.ModelState.IsValid) { var result = this.genresSV.AddGenre(Mapper.Map <Genres>(model)); if (result.ResulType == ResultType.Success) { model = new GenreCreateViewModel(); this.ModelState.Clear(); } model.Result = result; } else { var allErrorsAsString = this.ModelState.SelectMany(x => x.Value.Errors).Select(x => x.ErrorMessage); var errorResult = new Result(string.Join(Environment.NewLine, allErrorsAsString), ResultType.Error); model.Result = errorResult; } return(View(model)); }
public void ReturnBackWithErrorOnInvalidModel() { // Arrange var genreSvMock = new Mock <IGenreService>(); var fakeGenre = new GenreCreateViewModel(); var sut = new GenresController(genreSvMock.Object); var fakeHttpContext = new Mock <HttpContextBase>(); sut.ControllerContext = new ControllerContext { Controller = sut, HttpContext = fakeHttpContext.Object }; sut.ModelState.AddModelError("Name", "Ivalid genre name"); // Act & Assert sut .WithCallTo(c => c.Create(fakeGenre)) .ShouldRenderDefaultView() .WithModel <GenreCreateViewModel>() .AndModelErrorFor(m => m.Name); }
public ActionResult Create() { var model = new GenreCreateViewModel(); return(View(model)); }