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()); }
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()); }