public void TestSqlStatementBuilderCreateQueryAllWithOrderBy() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = "Table"; var fields = Field.From("Field1", "Field2", "Field3"); var orderBy = OrderField.Parse(new { Field1 = Order.Ascending, Field2 = Order.Descending }); // Act var actual = statementBuilder.CreateQueryAll(queryBuilder: queryBuilder, tableName: tableName, fields: fields, orderBy: orderBy); var expected = $"" + $"SELECT [Field1], [Field2], [Field3] " + $"FROM [Table] " + $"ORDER BY [Field1] ASC, [Field2] DESC ;"; // Assert Assert.AreEqual(expected, actual); }
public void ThrowExceptionOnSqlStatementBuilderCreateQueryAllIfThereAreNoFields() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = "Table"; // Act statementBuilder.CreateQueryAll(queryBuilder: queryBuilder, tableName: tableName, fields: null); }
public void ThrowExceptionOnSqlStatementBuilderCreateQueryAllIfTheTableIsWhitespace() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = " "; var fields = Field.From("Field1", "Field2", "Field3"); // Act statementBuilder.CreateQueryAll(queryBuilder: queryBuilder, tableName: tableName, fields: fields); }
public void ThrowExceptionOnSqlStatementBuilderCreateQueryAllIfTheOrderFieldIsNotCovered() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = "Table"; var fields = Field.From("Field1", "Field2", "Field3"); var orderBy = OrderField.Parse(new { Id = Order.Ascending, Field1 = Order.Ascending }); // Act statementBuilder.CreateQueryAll(queryBuilder: queryBuilder, tableName: tableName, fields: fields, orderBy: orderBy); }
public void TestSqlStatementBuilderCreateQueryAllWithUnquotedTableSchema() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = "dbo.Table"; var fields = Field.From("Field1", "Field2", "Field3"); // Act var actual = statementBuilder.CreateQueryAll(queryBuilder: queryBuilder, tableName: tableName, fields: fields); var expected = "SELECT [Field1], [Field2], [Field3] FROM [dbo].[Table] ;"; // Assert Assert.AreEqual(expected, actual); }
public void TestSqlStatementBuilderCreateQueryAllWithHints() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = "Table"; var fields = Field.From("Field1", "Field2", "Field3"); var hints = SqlTableHints.NoLock; // Act var actual = statementBuilder.CreateQueryAll(queryBuilder: queryBuilder, tableName: tableName, fields: fields, hints: hints); var expected = "SELECT [Field1], [Field2], [Field3] FROM [Table] WITH (NOLOCK) ;"; // Assert Assert.AreEqual(expected, actual); }