public void TestSqlStatementBuilderCreateInsertWithIdentityAsBigInt() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = "Table"; var fields = Field.From("Field1", "Field2", "Field3"); var identityField = new DbField("Field1", false, true, false, typeof(long), null, null, null); // Act var actual = statementBuilder.CreateInsert(queryBuilder: queryBuilder, tableName: tableName, fields: fields, primaryField: null, identityField: identityField); var expected = $"" + $"INSERT INTO [Table] " + $"( [Field2], [Field3] ) " + $"VALUES " + $"( @Field2, @Field3 ) ; " + $"SELECT CONVERT(BIGINT, SCOPE_IDENTITY()) AS [Result] ;"; // Assert Assert.AreEqual(expected, actual); }
public void TestSqlStatementBuilderCreateInsertWithPrimary() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = "Table"; var fields = Field.From("Field1", "Field2", "Field3"); var primaryField = new DbField("Field1", true, false, false, typeof(int), null, null, null); // Act var actual = statementBuilder.CreateInsert(queryBuilder: queryBuilder, tableName: tableName, fields: fields, primaryField: primaryField, identityField: null); var expected = $"" + $"INSERT INTO [Table] " + $"( [Field1], [Field2], [Field3] ) " + $"VALUES " + $"( @Field1, @Field2, @Field3 ) ; " + $"SELECT @Field1 AS [Result] ;"; // Assert Assert.AreEqual(expected, actual); }
public void ThrowExceptionOnSqlDbProviderCreateInlineInsertIfTheIdentityFieldIsNotTheClassMappingIdField() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder <ThrowExceptionOnSqlDbProviderCreateInlineInsertIfTheIdentityFieldIsNotTheClassMappingIdFieldClass>(); // Act/Assert statementBuilder.CreateInsert(queryBuilder); }
public void ThrowExceptionIfTheIdentityFieldIsNotThePrimaryKeyField() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder <ThrowExceptionIfTheIdentityFieldIsNotThePrimaryKeyFieldClass>(); // Act/Assert statementBuilder.CreateInsert(queryBuilder); }
public void ThrowExceptionOnSqlStatementBuilderCreateInsertIfTheTableIsWhitespace() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = " "; // Act statementBuilder.CreateInsert(queryBuilder: queryBuilder, tableName: tableName, fields: null, primaryField: null, identityField: null); }
public void ThrowExceptionOnSqlStatementBuilderCreateInsertIfThePrimaryIsNotReallyAPrimary() { // Setup var statementBuilder = new SqlStatementBuilder(); 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.CreateInsert(queryBuilder: queryBuilder, tableName: tableName, fields: fields, primaryField: primaryField, identityField: null); }
public void TestSqlDbProviderCreateInsertWithFieldMappings() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder <TestSqlDbProviderCreateInsertWithFieldMappingsClass>(); // Act var actual = statementBuilder.CreateInsert(queryBuilder); var expected = $"" + $"INSERT INTO [TestSqlDbProviderCreateInsertWithFieldMappingsClass] " + $"( [Field1], [Field2], [Field4] ) " + $"VALUES " + $"( @Field1, @Field2, @Field4 ) ; " + $"SELECT NULL AS [Result] ;"; // Assert Assert.AreEqual(expected, actual); }
public void TestSqlDbProviderCreateInsertWithClassMappingId() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder <TestWithSqlDbProviderCreateInsertClassMappingIdClass>(); // Act var actual = statementBuilder.CreateInsert(queryBuilder); var expected = $"" + $"INSERT INTO [ClassName] " + $"( [ClassNameId], [Field2], [Field3] ) " + $"VALUES " + $"( @ClassNameId, @Field2, @Field3 ) ; " + $"SELECT @ClassNameId AS [Result] ;"; // Assert Assert.AreEqual(expected, actual); }
public void TestWithPrimaryKeyField() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder <TestWithPrimaryKeyFieldClass>(); // Act var actual = statementBuilder.CreateInsert(queryBuilder); var expected = $"" + $"INSERT INTO [TestWithPrimaryKeyFieldClass] " + $"( [Field1], [Field2], [Field3] ) " + $"VALUES " + $"( @Field1, @Field2, @Field3 ) ; " + $"SELECT @Field1 AS [Result] ;"; // Assert Assert.AreEqual(expected, actual); }
public void TestSqlStatementBuilderCreateInsertWithUnquotedTableSchema() { // Setup var statementBuilder = new SqlStatementBuilder(); var queryBuilder = new QueryBuilder(); var tableName = "dbo.Table"; var fields = Field.From("Field1", "Field2", "Field3"); // Act var actual = statementBuilder.CreateInsert(queryBuilder: queryBuilder, tableName: tableName, fields: fields, primaryField: null, identityField: null); var expected = $"" + $"INSERT INTO [dbo].[Table] " + $"( [Field1], [Field2], [Field3] ) " + $"VALUES " + $"( @Field1, @Field2, @Field3 ) ; " + $"SELECT NULL AS [Result] ;"; // Assert Assert.AreEqual(expected, actual); }