public static Expression <Func <T, bool> > Expression <T>(string query, Action <Settings> settingsConfiguration = null, Action <JsonOptions> jsonOptionsConfiguration = null) where T : class { var settings = Settings(settingsConfiguration); var jsonOptions = JsonOptions(jsonOptionsConfiguration); var queryCollection = QueryCollection( jsonOptions.Value.JsonSerializerOptions.PropertyNamingPolicy.ConvertName(settings.QueryField), query); var mockLogger = new Mock <ILogger <T> >(); mockLogger.Setup(m => m.IsEnabled(It.IsAny <LogLevel>())).Returns(true); var rSqlQueryModelBinder = new RSqlQueryModelBinder <T>(settings, jsonOptions, mockLogger.Object); return(rSqlQueryModelBinder .Build(queryCollection) .Value()); }
public void ShouldBeThrowArgumentNullException() { var option = Helper.JsonOptions(); var settings = Helper.Settings(); // constructor : settings is null this.Invoking((a) => { _ = new RSqlQueryModelBinder <Customer>(null, option, Helper.MockLogger <Customer>().Object); }) .Should() .Throw <ArgumentNullException>(); // constructor: options is null this.Invoking((a) => { _ = new RSqlQueryModelBinder <Customer>(settings, null, Helper.MockLogger <Customer>().Object); }) .Should() .Throw <ArgumentNullException>(); // constructor: options is null this.Invoking((a) => { _ = new RSqlQueryModelBinder <Customer>(settings, Helper.JsonOptions(), null); }) .Should() .Throw <ArgumentNullException>(); // build this.Invoking((a) => { var binder = new RSqlQueryModelBinder <Customer>(Helper.Settings(), Helper.JsonOptions(), Helper.MockLogger <Customer>().Object); binder.Build(null); }) .Should() .Throw <ArgumentNullException>(); }