public void ToWhereSql_EqualsNestedPropertyValue_SqlIsCorrect() { var dbCommandMock = new Mock <IDbCommand> { DefaultValue = DefaultValue.Mock }; var filter = new CascadedFilter { CustomExpressionFilter = new CustomExpression { MyStringAttribute = "Value" } }; var whereSql = SqlExtension.ToWhereSql((Expression <Func <CustomExpression, bool> >)(model => model.MyStringAttribute == filter.CustomExpressionFilter.MyStringAttribute), dbCommandMock.Object); Assert.AreEqual("mystringattribute = @mystringattribute", whereSql); }
public void ToWhereSql_EqualsNestedPropertyValue_HasParameter() { var parameters = new Fakes.DataParameterCollection(); var dbCommandMock = new Mock <IDbCommand> { DefaultValue = DefaultValue.Mock }; dbCommandMock.SetupGet(command => command.Parameters).Returns(parameters); dbCommandMock.Setup(command => command.CreateParameter()).Returns(() => Mock.Of <IDbDataParameter>()); var dbCommand = dbCommandMock.Object; var filter = new CascadedFilter { CustomExpressionFilter = new CustomExpression { MyStringAttribute = "Value" } }; SqlExtension.ToWhereSql((Expression <Func <CustomExpression, bool> >)(model => model.MyStringAttribute == filter.CustomExpressionFilter.MyStringAttribute), dbCommand); Assert.IsTrue(dbCommand.Parameters.Contains("@mystringattribute")); Assert.AreEqual("Value", (dbCommand.Parameters["@mystringattribute"] as IDbDataParameter).Value); Assert.AreEqual(DbType.String, (dbCommand.Parameters["@mystringattribute"] as IDbDataParameter).DbType); }