Esempio n. 1
0
        public void CreateStoredProcedureIfNotExistsQueryShouldGiveCorrectSyntax()
        {
            var dbDriverMock = new Mock <IDataDriver>();

            dbDriverMock.Setup(x => x.Dialect).Returns(Enums.DialectEnum.MSSQL);
            dbDriverMock.Setup(x => x.GoTerminator()).Returns("\nGO");
            var subquery = IGNQueriable.Begin("*****@*****.**", dbDriverMock.Object).
                           Select().
                           From("test").
                           IfExists().
                           WithCondition().
                           Where(IGNConditionWithParameter.FromConfig("name", Enums.IGNSqlCondition.Eq, 0)).
                           Go();
            var query = IGNQueriable.Begin("*****@*****.**", dbDriverMock.Object).
                        Create().
                        StoredProcedure("sp_test", subquery, new List <IGNParameter>()
            {
                IGNParameter.FromConfig(0, typeof(string), 255)
            }).
                        IfNotExists().
                        Go();
            var expected = "CREATE PROCEDURE [sp_test] @p0 NVARCHAR(255)\nAS\nSELECT * FROM [test] WHERE [name] = @p0 \nGO  \nGO";

            Assert.AreEqual(expected, query.ToString());
        }
Esempio n. 2
0
        public void UpdateQueryShouldHaveCorrectSyntax()
        {
            var dbDriverMock = new Mock <IDataDriver>();

            dbDriverMock.Setup(x => x.Dialect).Returns(Enums.DialectEnum.MSSQL);
            dbDriverMock.Setup(x => x.GoTerminator()).Returns("\nGO");
            var query = IGNQueriable.Begin("*****@*****.**", dbDriverMock.Object).
                        Update().
                        Table("users").
                        IfExists().
                        SetParametrizedWithCondition("loggedInDateTime", 0).
                        Where(IGNConditionWithParameter.FromConfig("Id", Enums.IGNSqlCondition.Eq, 1)).
                        Go();
            var expected = "UPDATE [users] SET [loggedInDateTime] = @p0 WHERE [Id] = @p1 \nGO";

            Assert.AreEqual(expected, query.ToString());
        }
Esempio n. 3
0
 public IConditionalQuery Having(IGNConditionWithParameter condition)
 {
     condition.SetSanitizedName(queriable.SanitizeName(condition.ColumnName));
     queriable.AddOperation("HAVING", $"{condition}", " ");
     return(this);
 }