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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }