public void Invalid_DataToken_Model_Type_Returns_Null() { var binder = new RenderModelBinder(); var routeData = new RouteData(); routeData.DataTokens[Core.Constants.Web.UmbracoDataToken] = "hello"; //the value provider is the default implementation var valueProvider = new Mock <IValueProvider>(); //also IUnvalidatedValueProvider var invalidatedValueProvider = valueProvider.As <IUnvalidatedValueProvider>(); invalidatedValueProvider.Setup(x => x.GetValue(It.IsAny <string>(), It.IsAny <bool>())).Returns(() => new ValueProviderResult(null, "", CultureInfo.CurrentCulture)); var controllerCtx = new ControllerContext( Mock.Of <HttpContextBase>(http => http.Items == new Dictionary <object, object>()), routeData, Mock.Of <ControllerBase>()); var result = binder.BindModel(controllerCtx, new ModelBindingContext { ValueProvider = valueProvider.Object, ModelMetadata = new ModelMetadata(new EmptyModelMetadataProvider(), null, () => null, typeof(IPublishedContent), "content") }); Assert.IsNull(result); }
public void BindModel_IPublishedContent_To_Generic_RenderModel() { var content = new MyContent(Mock.Of <IPublishedContent>()); var bound = (IRenderModel)RenderModelBinder.BindModel(content, typeof(RenderModel <MyContent>), CultureInfo.CurrentCulture); Assert.AreSame(content, bound.Content); }
public void BindModel_Returns_If_Same_Type() { var content = new MyContent(Mock.Of <IPublishedContent>()); var bound = RenderModelBinder.BindModel(content, typeof(IPublishedContent), CultureInfo.CurrentCulture); Assert.AreSame(content, bound); }
public void No_DataToken_Returns_Null() { var binder = new RenderModelBinder(); var routeData = new RouteData(); var result = binder.BindModel(new ControllerContext(Mock.Of <HttpContextBase>(), routeData, Mock.Of <ControllerBase>()), new ModelBindingContext()); Assert.IsNull(result); }
public void Returns_Binder_For_IPublishedContent_And_IRenderModel() { var binder = new RenderModelBinder(); var found = binder.GetBinder(typeof(IPublishedContent)); Assert.IsNotNull(found); found = binder.GetBinder(typeof(RenderModel)); Assert.IsNotNull(found); found = binder.GetBinder(typeof(DynamicPublishedContent)); Assert.IsNotNull(found); found = binder.GetBinder(typeof(MyContent)); Assert.IsNotNull(found); found = binder.GetBinder(typeof(RenderModel <MyContent>)); Assert.IsNotNull(found); found = binder.GetBinder(typeof(MyOtherContent)); Assert.IsNull(found); found = binder.GetBinder(typeof(MyCustomRenderModel)); Assert.IsNull(found); found = binder.GetBinder(typeof(IRenderModel)); Assert.IsNull(found); }
public void BindModel_Null_Source_Returns_Null() { Assert.IsNull(RenderModelBinder.BindModel(null, typeof(MyContent), CultureInfo.CurrentCulture)); }