public async Task<IActionResult> Create(CreateJobCategoryViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            var jobCategory = new JobCategory {Name = model.Name};
            _context.Add(jobCategory);
            await _context.SaveChangesAsync();
            return RedirectToAction(nameof(Index));
        }
        public async Task <IActionResult> Create(CreateJobCategoryViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var result = await _jobCategoryService.Add(_mapper.Map <JobCategory>(model));

            if (result)
            {
                return(RedirectToAction(nameof(Index)));
            }

            return(View("NotFound"));
        }
        public async Task Create_Given_ServiceAddSuccess_Should_ReturnRedirectToActionResult()
        {
            // Arrange
            var vm = new CreateJobCategoryViewModel();

            var serviceMock = new Mock <IJobCategoryService>();

            serviceMock.Setup(x => x.Add(It.IsAny <JobCategory>())).ReturnsAsync(true);

            var controller = new JobCategoryController(serviceMock.Object, _mapper);

            // Act
            var result = await controller.Create(vm);

            // Assert
            Assert.IsType <RedirectToActionResult>(result);
        }
Ejemplo n.º 4
0
        public void Given_ModelWithNonCapitalizedName_Should_NotValidate()
        {
            // Arrange
            var model = new CreateJobCategoryViewModel
            {
                Name = "example"
            };

            var context = new ValidationContext(model, null, null);
            var result  = new List <ValidationResult>();

            // Act
            var valid = Validator.TryValidateObject(model, context, result, true);

            // Assert
            Assert.False(valid);
        }
Ejemplo n.º 5
0
        public void Given_ValidModel_Should_Validate()
        {
            // Arrange
            var model = new CreateJobCategoryViewModel
            {
                Name = "Example"
            };

            var context = new ValidationContext(model, null, null);
            var result  = new List <ValidationResult>();

            // Act
            var valid = Validator.TryValidateObject(model, context, result, true);

            // Assert
            Assert.True(valid);
        }
        public async Task Create_Given_ServiceAddFailure_Should_ReturnNotFoundView()
        {
            // Arrange
            var vm = new CreateJobCategoryViewModel();

            var serviceMock = new Mock <IJobCategoryService>();

            serviceMock.Setup(x => x.Add(It.IsAny <JobCategory>())).ReturnsAsync(false);

            var controller = new JobCategoryController(serviceMock.Object, _mapper);

            // Act
            var result = await controller.Create(vm);

            // Assert
            var viewResult = (ViewResult)result;

            Assert.Equal("NotFound", viewResult.ViewName);
        }
Ejemplo n.º 7
0
        public void Given_ModelWithNonCapitalizedName_Should_ContainCorrectError()
        {
            // Arrange
            var model = new CreateJobCategoryViewModel
            {
                Name = "example"
            };

            var context = new ValidationContext(model, null, null);
            var result  = new List <ValidationResult>();

            // Act
            Validator.TryValidateObject(model, context, result, true);

            // Assert
            var errorMessage = string.Format("{0} must start with capital letter.", nameof(model.Name));

            Assert.Contains(result, x => x.ErrorMessage == errorMessage);
        }
        public async Task Create_Given_ModelWithInvalidState_Should_ReturnSameModel()
        {
            // Arrange
            const string expectedName = "ExampleName";
            var          vm           = new CreateJobCategoryViewModel {
                Name = expectedName
            };

            var serviceMock = new Mock <IJobCategoryService>();
            var controller  = new JobCategoryController(serviceMock.Object, _mapper);

            controller.ModelState.AddModelError("Key", "Message");

            // Act
            var result = await controller.Create(vm);

            // Assert
            var viewResult = (ViewResult)result;
            var model      = (CreateJobCategoryViewModel)viewResult.Model;

            Assert.Equal(expectedName, model.Name);
        }