Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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>();
        }