예제 #1
0
        public void CreateActivityWithNoName_ShouldReturnModelStateNotValid()
        {
            var controller = new ActivityController(_activityManager, _personManager, _utilityManager);

            var model = new ActivityViewModel()
            {
                Name = ""
            };

            //Init ModelState
            var modelBinder = new ModelBindingContext()
            {
                ModelMetadata = ModelMetadataProviders.Current.GetMetadataForType(
                    () => model, model.GetType()),
                ValueProvider = new NameValueCollectionValueProvider(
                    new NameValueCollection(), CultureInfo.InvariantCulture)
            };
            var binder = new DefaultModelBinder().BindModel(
                new ControllerContext(), modelBinder);

            controller.ModelState.Clear();
            controller.ModelState.Merge(modelBinder.ModelState);

            var controllerResult = controller.CreateActivity(model);

            ViewResult result = (ViewResult)controllerResult;

            Assert.IsTrue(result.ViewData.ModelState["Name"].Errors.Count > 0);
            Assert.IsTrue(!result.ViewData.ModelState.IsValid);
        }
예제 #2
0
        public void CreateActivity_ShouldAddThatActivity()
        {
            // Arrange
            ActivityController controller = new ActivityController(_activityManager, _personManager, _utilityManager);

            var activityToAdd = new ActivityViewModel()
            {
                Name = "New Activity"
            };

            // Act
            var controllerResult = controller.CreateActivity(activityToAdd);

            var expected = _activityManager.GetAllActivities().SingleOrDefault(n => n.Name == "New Activity");

            // Assert
            Assert.AreEqual(expected.Name, activityToAdd.Name);
        }