Exemple #1
0
        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));
        }
Exemple #3
0
        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"));
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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));
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        public ActionResult Create()
        {
            var model = new GenreCreateViewModel();

            return(View(model));
        }