Beispiel #1
0
        public void TestSqlStatementBuilderCreateQueryAllWithOrderBy()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            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);
        }
Beispiel #2
0
        public void ThrowExceptionOnSqlStatementBuilderCreateQueryAllIfThereAreNoFields()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";

            // Act
            statementBuilder.CreateQueryAll(queryBuilder: queryBuilder,
                                            tableName: tableName,
                                            fields: null);
        }
Beispiel #3
0
        public void ThrowExceptionOnSqlStatementBuilderCreateQueryAllIfTheTableIsWhitespace()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = " ";
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" }, Helper.DbSetting);

            // Act
            statementBuilder.CreateQueryAll(queryBuilder: queryBuilder,
                                            tableName: tableName,
                                            fields: fields);
        }
Beispiel #4
0
        public void ThrowExceptionOnSqlStatementBuilderCreateQueryAllIfTheTableIsEmpty()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "";
            var fields           = Field.From("Field1", "Field2", "Field3");

            // Act
            statementBuilder.CreateQueryAll(queryBuilder: queryBuilder,
                                            tableName: tableName,
                                            fields: fields);
        }
Beispiel #5
0
        public void ThrowExceptionOnSqlStatementBuilderCreateQueryAllIfTheOrderFieldIsNotCovered()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" }, Helper.DbSetting);
            var orderBy          = OrderField.Parse(new { Id = Order.Ascending, Field1 = Order.Ascending }, Helper.DbSetting);

            // Act
            statementBuilder.CreateQueryAll(queryBuilder: queryBuilder,
                                            tableName: tableName,
                                            fields: fields,
                                            orderBy: orderBy);
        }
Beispiel #6
0
        public void TestSqlStatementBuilderCreateQueryAllWithUnquotedTableSchema()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "dbo.Table";
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" }, Helper.DbSetting);

            // 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);
        }
Beispiel #7
0
        public void TestSqlStatementBuilderCreateQueryAll()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "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 [Table] ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Beispiel #8
0
        public void TestSqlStatementBuilderCreateQueryAllWithHints()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" }, Helper.DbSetting);
            var hints            = SqlServerTableHints.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);
        }
Beispiel #9
0
        public void TestSqlStatementBuilderCreateQueryAllWithOrderByAndWithHints()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" }, Helper.DbSetting);
            var orderBy          = OrderField.Parse(new { Field1 = Order.Ascending, Field2 = Order.Descending }, Helper.DbSetting);
            var hints            = SqlServerTableHints.NoLock;

            // Act
            var actual = statementBuilder.CreateQueryAll(queryBuilder: queryBuilder,
                                                         tableName: tableName,
                                                         fields: fields,
                                                         orderBy: orderBy,
                                                         hints: hints);
            var expected = $"" +
                           $"SELECT [Field1], [Field2], [Field3] " +
                           $"FROM [Table] WITH (NOLOCK) " +
                           $"ORDER BY [Field1] ASC, [Field2] DESC ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }