public void Add_ReturnsBadRequestResult_WhenModelStateIsInvalid()
        {
            var mockRepo = new Mock <IRegionService>();

            var logger = Mock.Of <ILogger <RegionController> >();

            var controller = new RegionController(logger, mockRepo.Object);

            controller.ModelState.AddModelError("Name", "Required");

            var newRegion = GetTestRegions().SingleOrDefault(x => x.RegionId == 1);

            var result = controller.Create(newRegion);

            var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);

            Assert.IsType <SerializableError>(badRequestResult.Value);
        }
        public void Add_ReturnsReturnsRedirect_WhenModelStateIsvalid()
        {
            var mockRepo = new Mock <IRegionService>();

            mockRepo.Setup(repo => repo.Add(It.IsAny <RegionModel>())).Verifiable();

            var logger = Mock.Of <ILogger <RegionController> >();

            var controller = new RegionController(logger, mockRepo.Object);

            var newRegion = GetTestRegions().SingleOrDefault(x => x.RegionId == 1);

            var result = controller.Create(newRegion);

            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Index", redirectToActionResult.ActionName);
            mockRepo.Verify();
        }