Esempio n. 1
0
        public async Task BindModel_CallsBindAsync_OnProvidedModelBinderProvider()
        {
            // Arrange
            var bindingContext = GetBindingContext(typeof(Person));

            bindingContext.ModelMetadata.BinderType = typeof(ModelBinderProvider);

            var model            = new Person();
            var innerModelBinder = new TrueModelBinder(model);

            var provider = new ModelBinderProvider(innerModelBinder);

            var mockITypeActivator = new Mock <ITypeActivator>();

            mockITypeActivator
            .Setup(o => o.CreateInstance(It.IsAny <IServiceProvider>(), typeof(ModelBinderProvider)))
            .Returns(provider);

            var binder = new BinderTypeBasedModelBinder(mockITypeActivator.Object);

            // Act
            var binderResult = await binder.BindModelAsync(bindingContext);

            // Assert
            Assert.True(binderResult);
            Assert.Same(model, bindingContext.Model);
        }
        public async Task BindModel_CallsBindAsync_OnProvidedModelBinder()
        {
            // Arrange
            var bindingContext = GetBindingContext(typeof(Person), binderType: typeof(TrueModelBinder));

            var model = new Person();
            var innerModelBinder = new TrueModelBinder();
            var serviceProvider = new ServiceCollection()
                .AddSingleton(typeof(IModelBinder))
                .BuildServiceProvider();

            bindingContext.OperationBindingContext.HttpContext.RequestServices = serviceProvider;

            var binder = new BinderTypeBasedModelBinder();

            // Act
            var binderResult = await binder.BindModelAsync(bindingContext);

            // Assert
            var p = (Person)binderResult.Model;
            Assert.Equal(model.Age, p.Age);
            Assert.Equal(model.Name, p.Name);
        }
Esempio n. 3
0
        public async Task BindModel_CallsBindAsync_OnProvidedModelBinder()
        {
            // Arrange
            var bindingContext = GetBindingContext(typeof(Person), binderType: typeof(TrueModelBinder));

            var model            = new Person();
            var innerModelBinder = new TrueModelBinder();
            var serviceProvider  = new ServiceCollection()
                                   .AddSingleton(typeof(IModelBinder))
                                   .BuildServiceProvider();

            bindingContext.OperationBindingContext.HttpContext.RequestServices = serviceProvider;

            var binder = new BinderTypeBasedModelBinder();

            // Act
            var binderResult = await binder.BindModelAsync(bindingContext);

            // Assert
            var p = (Person)binderResult.Model;

            Assert.Equal(model.Age, p.Age);
            Assert.Equal(model.Name, p.Name);
        }
 public ModelBinderProvider()
 {
     var innerModelBinder = new TrueModelBinder();
     _inner = innerModelBinder;
 }
Esempio n. 5
0
            public ModelBinderProvider()
            {
                var innerModelBinder = new TrueModelBinder();

                _inner = innerModelBinder;
            }