public void WithJsonSerializerSettingsShouldNotThrowExceptionWithSameJsonSettings() { MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSettingsAction()) .ShouldReturn() .Json() .WithJsonSerializerSettings(TestObjectFactory.GetJsonSerializerSettings()); }
public void WithJsonSerializerSettingsShouldNotThrowExceptionWithSameJsonSettings() { MyController <MvcController> .Instance() .Calling(c => c.JsonWithSettingsAction()) .ShouldReturn() .Json(json => json .WithJsonSerializerSettings(TestObjectFactory.GetJsonSerializerSettings())); }
public void WithJsonSerializerSettingsShouldNotThrowExceptionWithValidSettings() { var jsonSettings = TestObjectFactory.GetJsonSerializerSettings(); MyController <MvcController> .Instance() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSettings)) .ShouldReturn() .Json(json => json .WithJsonSerializerSettings(jsonSettings)); }
public void WithJsonSerializerSettingsShouldThrowExceptionWithDifferentJsonSettings() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.DateParseHandling = DateParseHandling.DateTime; MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSettingsAction()) .ShouldReturn() .Json() .WithJsonSerializerSettings(jsonSerializerSettings); }
public void WithJsonSerializerSettingsShouldThrowExceptionWithNull() { var jsonSettings = TestObjectFactory.GetJsonSerializerSettings(); Assert.Throws <InvocationAssertionException>(() => { MyController <MvcController> .Instance() .Calling(c => c.JsonWithSpecificSettingsAction(null)) .ShouldReturn() .Json(json => json .WithJsonSerializerSettings(jsonSettings)); }); }
public void WithTypeNameHandlingShouldValidateOnlyTheProperty() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.MaxDepth = int.MaxValue; jsonSerializerSettings.TypeNameHandling = TypeNameHandling.Arrays; MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings)) .ShouldReturn() .Json() .WithJsonSerializerSettings(s => s.WithTypeNameHandling(TypeNameHandling.Arrays)); }
public void WithTypeNameAssemblyFormatShouldValidateOnlyTheProperty() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.MaxDepth = int.MaxValue; jsonSerializerSettings.TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple; MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings)) .ShouldReturn() .Json() .WithJsonSerializerSettings(s => s.WithTypeNameAssemblyFormat(FormatterAssemblyStyle.Simple)); }
public void WithReferenceLoopHandlingShouldValidateOnlyTheProperty() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.MaxDepth = int.MaxValue; jsonSerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings)) .ShouldReturn() .Json() .WithJsonSerializerSettings(s => s.WithReferenceLoopHandling(ReferenceLoopHandling.Ignore)); }
public void WithCultureShouldValidateOnlyTheProperty() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.Culture = CultureInfo.InvariantCulture; jsonSerializerSettings.ConstructorHandling = ConstructorHandling.Default; MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings)) .ShouldReturn() .Json() .WithJsonSerializerSettings(s => s.WithCulture(CultureInfo.InvariantCulture)); }
public void WithMaxDepthShouldValidateOnlyTheProperty() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.MaxDepth = int.MaxValue; jsonSerializerSettings.Formatting = Formatting.None; MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings)) .ShouldReturn() .Json() .WithJsonSerializerSettings(s => s.WithMaxDepth(int.MaxValue)); }
public void WithDateParseHandlingShouldValidateOnlyTheProperty() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.MaxDepth = int.MaxValue; jsonSerializerSettings.DateParseHandling = DateParseHandling.DateTimeOffset; MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings)) .ShouldReturn() .Json() .WithJsonSerializerSettings(s => s.WithDateParseHandling(DateParseHandling.DateTimeOffset)); }
public void WithConstructorHandlingShouldValidateOnlyTheProperty() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.MaxDepth = int.MaxValue; jsonSerializerSettings.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor; MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings)) .ShouldReturn() .Json() .WithJsonSerializerSettings(s => s.WithConstructorHandling(ConstructorHandling.AllowNonPublicDefaultConstructor)); }
public void WithContractResolverShouldValidateOnlyTheProperty() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.MaxDepth = int.MaxValue; jsonSerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); MyWebApi .Controller <WebApiController>() .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings)) .ShouldReturn() .Json() .WithJsonSerializerSettings(s => s.WithContractResolver(new CamelCasePropertyNamesContractResolver())); }
public void WithJsonSerializerSettingsShouldThrowExceptionWithDifferentJsonSettings() { var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings(); jsonSerializerSettings.DateParseHandling = DateParseHandling.DateTime; Test.AssertException <JsonResultAssertionException>( () => { MyMvc .Controller <MvcController>() .Calling(c => c.JsonWithSettingsAction()) .ShouldReturn() .Json() .WithJsonSerializerSettings(jsonSerializerSettings); }, "When calling JsonWithSettingsAction action in MvcController expected JSON result serializer settings to have DateTime date parse handling, but in fact found DateTimeOffset."); }
public IActionResult JsonWithSettingsAction() { return(this.Json(this.responseModel, TestObjectFactory.GetJsonSerializerSettings())); }