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

Commit 3c2c807a by Jan Aagaard Meier

find or create returns additional flag

1 parent 0c35b450
...@@ -342,13 +342,13 @@ module.exports = (function() { ...@@ -342,13 +342,13 @@ module.exports = (function() {
self.create(params) self.create(params)
.success(function (instance) { .success(function (instance) {
emitter.emit('success', instance) emitter.emit('success', instance, true)
}) })
.error( function (error) { .error( function (error) {
emitter.emit('error', error) emitter.emit('error', error)
}) })
} else { } else {
emitter.emit('success', instance) emitter.emit('success', instance, false)
} }
}).error(function (error) { }).error(function (error) {
emitter.emit('error', error) emitter.emit('error', error)
......
...@@ -185,4 +185,4 @@ var Utils = module.exports = { ...@@ -185,4 +185,4 @@ var Utils = module.exports = {
Utils.CustomEventEmitter = require("./emitters/custom-event-emitter") Utils.CustomEventEmitter = require("./emitters/custom-event-emitter")
Utils.QueryChainer = require("./query-chainer") Utils.QueryChainer = require("./query-chainer")
Utils.Lingo = require("lingo") Utils.Lingo = require("lingo")
\ No newline at end of file
...@@ -216,9 +216,11 @@ describe(Helpers.getTestDialectTeaser("DAOFactory"), function() { ...@@ -216,9 +216,11 @@ describe(Helpers.getTestDialectTeaser("DAOFactory"), function() {
this.User.create(data).success(function (user) { this.User.create(data).success(function (user) {
self.User.findOrCreate({ self.User.findOrCreate({
username: user.username username: user.username
}).success(function (_user) { }).success(function (_user, created) {
expect(_user.id).toEqual(user.id) expect(_user.id).toEqual(user.id)
expect(_user.username).toEqual('Username') expect(_user.username).toEqual('Username')
expect(created).toBeFalse()
done() done()
}) })
}) })
...@@ -232,10 +234,12 @@ describe(Helpers.getTestDialectTeaser("DAOFactory"), function() { ...@@ -232,10 +234,12 @@ describe(Helpers.getTestDialectTeaser("DAOFactory"), function() {
}; };
this.User.create(data).success(function (user) { this.User.create(data).success(function (user) {
self.User.findOrCreate(data).success(function (_user) { self.User.findOrCreate(data).success(function (_user, created) {
expect(_user.id).toEqual(user.id) expect(_user.id).toEqual(user.id)
expect(_user.username).toEqual('Username') expect(_user.username).toEqual('Username')
expect(_user.data).toEqual('ThisIsData') expect(_user.data).toEqual('ThisIsData')
expect(created).toBeFalse()
done() done()
}) })
}) })
...@@ -250,9 +254,11 @@ describe(Helpers.getTestDialectTeaser("DAOFactory"), function() { ...@@ -250,9 +254,11 @@ describe(Helpers.getTestDialectTeaser("DAOFactory"), function() {
data: 'ThisIsData' data: 'ThisIsData'
}; };
this.User.findOrCreate(data, default_values).success(function (user) { this.User.findOrCreate(data, default_values).success(function (user, created) {
expect(user.username).toEqual('Username') expect(user.username).toEqual('Username')
expect(user.data).toEqual('ThisIsData') expect(user.data).toEqual('ThisIsData')
expect(created).toBeTrue()
done() done()
}) })
}) })
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!