不要怂,就是干,撸起袖子干!

Commit d37cdbbd by Sascha Depold

added toSql on the node-sql instances

1 parent a38cea6d
Showing with 27 additions and 1 deletions
......@@ -68,7 +68,11 @@ module.exports = (function() {
;(function(methodName) {
DAOFactory.prototype[methodName] = function() {
var dataset = this.dataset()
return dataset[methodName].apply(dataset, arguments)
, result = dataset[methodName].apply(dataset, arguments)
result.toSql = function(){ return result.toQuery().text }
return result
}
})(methodName)
}
......
......@@ -2498,5 +2498,27 @@ describe(Helpers.getTestDialectTeaser("DAOFactory"), function() {
expect(query1.text).toEqual(query2.text)
})
})
describe("toSql", function() {
it("transforms the node-sql instance into a proper sql string", function() {
var sql = this.User.select("username").toSql()
var sqlMap = {
postgres: 'SELECT username FROM "users"',
mysql: 'SELECT `username` FROM `users`',
sqlite: 'SELECT username FROM "users"'
}
expect(sql).toEqual(sqlMap[dialect])
})
it("transforms node-sql instances with chaining into a proper sql string", function() {
var sql = this.User.select("username").select("firstName").group("username").toSql()
var sqlMap = {
postgres: 'SELECT username, firstName FROM "users" GROUP BY username',
mysql: 'SELECT `username`, `firstName` FROM `users` GROUP BY username',
sqlite: 'SELECT username, firstName FROM "users" GROUP BY username'
}
expect(sql).toEqual(sqlMap[dialect])
})
})
})
})
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!