public void SimpleSelect_Expect_CorrectQuery() { var testPocoMetaData = _metaDataModelBuilder.Build(typeof(TestPoco)); var command = builder.From(testPocoMetaData).Build(); var expectedQuery = new StringBuilder(); expectedQuery.AppendLine("SELECT *"); expectedQuery.AppendLine("FROM [Schema].[Table]"); command.CommandText.Should().Be(expectedQuery.ToString()); command.Parameters.Should().HaveCount(0); }
public void CallBuild_WithPocoWithoutKeysAndRowVersion_Expect_CorrectStatement() { var testPocoMetaData = _metaDataModelBuilder.Build(typeof(TestPoco)); testPocoMetaData.PrimaryKey.Clear(); deleteStatementBuilder.Options.UseRowVersionForDelete = false; var result = deleteStatementBuilder.Build(testPocoMetaData); var sb = new StringBuilder(); sb.AppendLine("DELETE FROM [Schema].[Table]"); result.CommandText.Should().Be(sb.ToString()); result.Parameters.Should().HaveCount(0); }
public void CallBuild_WithoutDatabaseGeneratedKeys_ExpectCorrectQuery() { var testPocoMetaData = _metaDataModelBuilder.Build(typeof(TestPoco)); testPocoMetaData.PrimaryKey.Clear(); var expected = new StringBuilder(); expected.Append("INSERT INTO [Schema].[Table](Data,Amount,Binary,Image)"); expected.Append(" OUTPUT inserted.RowVer"); expected.Append(" VALUES (@Data,@Amount,@Binary,@Image)"); var result = _insertStatementBuilder.Build(testPocoMetaData); result.CommandText.Should().Be(expected.ToString()); result.Parameters.Should().HaveCount(4); }
public void CallBuild_withoutKeys_Expect_CorrectCommand() { _updateStatementBuilder.Options.UseRowVersionForUpdate = false; var testPocoMetaData = _metaDataModelBuilder.Build(typeof(TestPoco)); testPocoMetaData.PrimaryKey.Clear(); var expected = new StringBuilder(); expected.AppendLine("UPDATE [Schema].[Table] SET"); expected.AppendLine("Data=@Data, Amount=@Amount, Binary=@Binary, Image=@Image"); var result = _updateStatementBuilder.Build(testPocoMetaData); result.CommandText.Should().Be(expected.ToString()); result.Parameters.Should().HaveCount(4); }
public void CallBuild_WithTestPoco_Expect_CorrectMetaData() { var result = modelBuilder.Build(typeof(TestPoco)); result.SchemaName.Should().Be("Schema"); result.TableName.Should().Be("Table"); result.Fields.Should().HaveCount(6); result.Fields.Should().ContainSingle(x => x.Name == "TestId" && x.IsPrimaryKey && !x.IsRowVersion && x.IsDatabaseGeneratedKey && x.DbColumnName == "Id" && x.DbColumnType == "int"); result.Fields.Should().ContainSingle(x => (x.Name == "DataField") && !x.IsPrimaryKey && !x.IsDatabaseGeneratedKey && !x.IsRowVersion && (x.DbColumnName == "Data") && (x.DbColumnType == "varchar") && (x.Size == "200") && string.IsNullOrEmpty(x.Precision)); result.Fields.Should().ContainSingle(x => (x.Name == "AmountField") && !x.IsPrimaryKey && !x.IsDatabaseGeneratedKey && !x.IsRowVersion && (x.DbColumnName == "Amount") && (x.DbColumnType == "decimal") && (x.Size == "8") && (x.Precision == "3")); result.Fields.Should().ContainSingle(x => (x.Name == "BinaryData") && !x.IsPrimaryKey && !x.IsDatabaseGeneratedKey && !x.IsRowVersion && (x.DbColumnName == "Binary") && (x.DbColumnType == "varbinary") && (x.Size == "max") && string.IsNullOrEmpty(x.Precision)); result.Fields.Should().ContainSingle(x => (x.Name == "ImageData") && !x.IsPrimaryKey && !x.IsDatabaseGeneratedKey && !x.IsRowVersion && (x.DbColumnName == "Image") && (x.DbColumnType == "image") && x.Size == "max" && string.IsNullOrEmpty(x.Precision)); result.Fields.Should().ContainSingle(x => x.Name == "RowVer" && !x.IsPrimaryKey && !x.IsDatabaseGeneratedKey && x.IsRowVersion && x.DbColumnName == "RowVer" && x.DbColumnType == "Rowversion" && x.Size == "max" && string.IsNullOrEmpty(x.Precision)); }