Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
0
    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));
    }
Exemplo n.º 5
0
    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);
    }