Exemple #1
0
        public void TestSqlStatementBuilderCreateUpdateWithWhereExpression()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var fields           = Field.From("Field1", "Field2", "Field3");

            var where = new QueryGroup(new QueryField("Field1", 1));

            // Act
            var actual = statementBuilder.CreateUpdate(queryBuilder: queryBuilder,
                                                       tableName: tableName,
                                                       fields: fields,
                                                       where : where,
                                                       primaryField: null,
                                                       identityField: null);
            var expected = $"" +
                           $"UPDATE [Table] " +
                           $"SET [Field1] = @Field1, [Field2] = @Field2, [Field3] = @Field3 " +
                           $"WHERE ([Field1] = @_Field1) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Exemple #2
0
        public void TestSqlStatementBuilderCreateUpdateWithUncoveredWhereExpressionButWithCoveredIdentity()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var fields           = Field.From("Field1", "Field2", "Field3");

            var where = new QueryGroup(new QueryField("Id", 1));
            var field = new DbField("Field1", true, true, false, typeof(int), null, null, null);

            // Act
            var actual = statementBuilder.CreateUpdate(queryBuilder: queryBuilder,
                                                       tableName: tableName,
                                                       fields: fields,
                                                       where : where,
                                                       primaryField: null,
                                                       identityField: field);
            var expected = $"" +
                           $"UPDATE [Table] " +
                           $"SET [Field2] = @Field2, [Field3] = @Field3 " +
                           $"WHERE ([Id] = @_Id) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Exemple #3
0
        public void TestSqlStatementBuilderCreateUpdateWithCoveredPrimaryAsIdentity()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" }, Helper.DbSetting);

            var where = new QueryGroup(new QueryField("Field1", 1, Helper.DbSetting), Helper.DbSetting);
            var field = new DbField("Field1", true, true, false, typeof(int), null, null, null, null, Helper.DbSetting);

            // Act
            var actual = statementBuilder.CreateUpdate(queryBuilder: queryBuilder,
                                                       tableName: tableName,
                                                       fields: fields,
                                                       where : where,
                                                       primaryField: field,
                                                       identityField: field);
            var expected = $"" +
                           $"UPDATE [Table] " +
                           $"SET [Field2] = @Field2, [Field3] = @Field3 " +
                           $"WHERE ([Field1] = @_Field1) ;";

            // Assert
            Assert.AreEqual(expected, actual);
        }
Exemple #4
0
        public void ThrowExceptionOnSqlStatementBuilderCreateUpdateIfTheTableIsWhitespace()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = " ";
            var fields           = Field.From("Field1", "Field2", "Field3");

            // Act
            statementBuilder.CreateUpdate(queryBuilder: queryBuilder,
                                          tableName: tableName,
                                          fields: fields,
                                          where : null,
                                          primaryField: null,
                                          identityField: null);
        }
Exemple #5
0
        public void ThrowExceptionOnSqlStatementBuilderCreateUpdateIfTheTableIsNull()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = (string)null;
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" }, Helper.DbSetting);

            // Act
            statementBuilder.CreateUpdate(queryBuilder: queryBuilder,
                                          tableName: tableName,
                                          fields: fields,
                                          where : null,
                                          primaryField: null,
                                          identityField: null);
        }
Exemple #6
0
        public void ThrowExceptionOnSqlStatementBuilderCreateUpdateIfThePrimaryIsNotReallyAPrimary()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var fields           = Field.From("Field1", "Field2", "Field3");
            var primaryField     = new DbField("Field1", false, false, false, typeof(int), null, null, null);

            // Act
            statementBuilder.CreateUpdate(queryBuilder: queryBuilder,
                                          tableName: tableName,
                                          fields: fields,
                                          where : null,
                                          primaryField: primaryField,
                                          identityField: null);
        }
Exemple #7
0
        public void ThrowExceptionOnSqlStatementBuilderCreateUpdateIfTheIdentityIsNotReallyAnIdentity()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "Table";
            var fields           = Field.From(new[] { "Field1", "Field2", "Field3" }, Helper.DbSetting);
            var qualifiers       = Field.From("Field1", Helper.DbSetting);
            var identifyField    = new DbField("Field2", false, false, false, typeof(int), null, null, null, null, Helper.DbSetting);

            // Act
            statementBuilder.CreateUpdate(queryBuilder: queryBuilder,
                                          tableName: tableName,
                                          fields: fields,
                                          where : null,
                                          primaryField: null,
                                          identityField: identifyField);
        }
Exemple #8
0
        public void TestSqlStatementBuilderCreateUpdateWithUnquotedTableSchema()
        {
            // Setup
            var statementBuilder = new SqlServerStatementBuilder();
            var queryBuilder     = new QueryBuilder();
            var tableName        = "dbo.Table";
            var fields           = Field.From("Field1", "Field2", "Field3");

            var where = (QueryGroup)null;

            // Act
            var actual = statementBuilder.CreateUpdate(queryBuilder: queryBuilder,
                                                       tableName: tableName,
                                                       fields: fields,
                                                       where : where,
                                                       primaryField: null,
                                                       identityField: null);
            var expected = $"" +
                           $"UPDATE [dbo].[Table] " +
                           $"SET [Field1] = @Field1, [Field2] = @Field2, [Field3] = @Field3 ;";

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