public void Returns_Valid_Delete_Query_With_Version() { // Arrange var schema = Rnd.Str; var name = Rnd.Str; var table = new DbName(schema, name); var c0Name = Rnd.Str; var c0Alias = Rnd.Str; var c0Property = Substitute.ForPartsOf <PropertyInfo>(); c0Property.Name.Returns(c0Alias); var c0 = new Column(table, c0Name, c0Property); var c1Name = Rnd.Str; var c1Alias = Rnd.Str; var c1Property = Substitute.ForPartsOf <PropertyInfo>(); c1Property.Name.Returns(c1Alias); var c1 = new Column(table, c1Name, c1Property); var client = new SqlServerDbClient(); var id = Rnd.Lng; var expected = $"DELETE FROM [{schema}].[{name}] WHERE [{c0Name}] = {id} AND [{c1Name}] = @{c1Alias}"; // Act var result = client.GetDeleteQueryTest(table, c0, id, c1); // Assert Assert.Equal(expected, result); }
public void Returns_Valid_Insert_Query() { // Arrange var schema = Rnd.Str; var name = Rnd.Str; var table = new DbName(schema, name); var c0Name = Rnd.Str; var c0Alias = Rnd.Str; var c0Property = Substitute.ForPartsOf <PropertyInfo>(); c0Property.Name.Returns(c0Alias); c0Property.Configure().CustomAttributes.Returns(Array.Empty <CustomAttributeData>()); var c0 = new Column(table, c0Name, c0Property); var c1Name = Rnd.Str; var c1Alias = Rnd.Str; var c1Property = Substitute.ForPartsOf <PropertyInfo>(); c1Property.Name.Returns(c1Alias); c1Property.Configure().CustomAttributes.Returns(Array.Empty <CustomAttributeData>()); var c1 = new Column(table, c1Name, c1Property); var list = new ColumnList(new[] { c0, c1 }); var client = new SqlServerDbClient(); var expected = $"INSERT INTO [{schema}].[{name}] ([{c0Name}], [{c1Name}]) VALUES (@{c0Alias}, @{c1Alias}); " + "SELECT SCOPE_IDENTITY();"; // Act var result = client.GetCreateQueryTest(table, list); // Assert Assert.Equal(expected, result); }
public void Returns_Valid_Update_Query_With_Version() { // Arrange var schema = Rnd.Str; var name = Rnd.Str; var table = new DbName(schema, name); var c0Name = Rnd.Str; var c0Alias = Rnd.Str; var c0PropertyInfo = Substitute.For <PropertyInfo>(); c0PropertyInfo.Name.Returns(c0Alias); var c0 = new Column(table, c0Name, c0PropertyInfo); var c1Name = Rnd.Str; var c1Alias = Rnd.Str; var c1PropertyInfo = Substitute.For <PropertyInfo>(); c1PropertyInfo.Name.Returns(c1Alias); var c1 = new Column(table, c1Name, c1PropertyInfo); var c2Name = Rnd.Str; var c2Alias = Rnd.Str; var c2Property = Substitute.ForPartsOf <PropertyInfo>(); c2Property.Name.Returns(c2Alias); var c2 = new Column(table, c2Name, c2Property); var c3Name = Rnd.Str; var c3Alias = Rnd.Str; var c3Property = Substitute.ForPartsOf <PropertyInfo>(); c3Property.Name.Returns(c3Alias); var c3 = new Column(table, c3Name, c3Property); var list = new ColumnList(new[] { c0, c1 }); var client = new SqlServerDbClient(); var id = Rnd.Lng; var expected = $"UPDATE [{schema}].[{name}] SET" + $" [{c0Name}] = @{c0Alias}," + $" [{c1Name}] = @{c1Alias}," + $" [{c3Name}] = @{c3Alias} + 1" + $" WHERE [{c2Name}] = {id}" + $" AND [{c3Name}] = @{c3Alias}"; // Act var result = client.GetUpdateQueryTest(table, list, c2, id, c3); // Assert Assert.Equal(expected, result); }
public static (SqlServerDbClient client, Vars v) Get() { var schema = Rnd.Str; var name = Rnd.Str; var tableName = new DbName(schema, name); var table = Substitute.For <ITable>(); table.GetName().Returns(tableName); var client = new SqlServerDbClient(); return(client, new(table, schema, name)); }
public void Returns_Valid_Select_Query() { // Arrange var schema = Rnd.Str; var name = Rnd.Str; var table = new DbName(schema, name); var c0Name = Rnd.Str; var c0Alias = Rnd.Str; var c0 = new Column(table, c0Name, Helpers.CreateInfoFromAlias(c0Alias)); var c1Name = Rnd.Str; var c1Alias = Rnd.Str; var c1 = new Column(table, c1Name, Helpers.CreateInfoFromAlias(c1Alias)); var c2Name = Rnd.Str; var c2Alias = Rnd.Str; var c2Property = Substitute.ForPartsOf <PropertyInfo>(); c2Property.Name.Returns(c2Alias); var c2 = new Column(table, c2Name, c2Property); var list = new ColumnList(new[] { c0, c1 }); var client = new SqlServerDbClient(); var id = Rnd.Lng; var expected = "SELECT" + $" [{c0Name}] AS [{c0Alias}]," + $" [{c1Name}] AS [{c1Alias}]" + $" FROM [{schema}].[{name}]" + $" WHERE [{c2Name}] = {id}"; // Act var result = client.GetRetrieveQueryTest(table, list, c2, id); // Assert Assert.Equal(expected, result); }