Skip to content

Commit 7a48c69

Browse files
committed
fix(User): ensure _mergeMagicFields returns data
1 parent 4b2a29d commit 7a48c69

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

src/object.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1005,7 +1005,7 @@ module.exports = function(AV) {
10051005
output[key] = AV._parseDate(output[key]);
10061006
}
10071007
});
1008-
if (!output.updatedAt) {
1008+
if (output.createdAt && !output.updatedAt) {
10091009
output.updatedAt = output.createdAt;
10101010
}
10111011
return output;

src/user.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ module.exports = function(AV) {
4646
this._sessionToken = attrs.sessionToken;
4747
delete attrs.sessionToken;
4848
}
49-
AV.User.__super__._mergeMagicFields.call(this, attrs);
49+
return AV.User.__super__._mergeMagicFields.call(this, attrs);
5050
},
5151

5252
/**

test/object.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,19 @@ describe('Objects', function(){
107107
parsedGameScore.get('score').should.eql(gameScore.get('score'));
108108
});
109109

110+
it('toJSON and parse (User)', () => {
111+
const user = new AV.Object.createWithoutData('_User', 'objectId');
112+
user.set('id', 'id');
113+
user.set('score', 20);
114+
const json = user.toJSON();
115+
json.objectId.should.eql(user.id);
116+
json.score.should.eql(user.get('score'));
117+
const parsedUser = new AV.User(json, { parse: true });
118+
parsedUser.id.should.eql(user.id);
119+
parsedUser.get('id').should.eql(user.get('id'));
120+
parsedUser.get('score').should.eql(user.get('score'));
121+
});
122+
110123
it('should create a User',function(){
111124
var User = AV.Object.extend("User");
112125
var u = new User();

0 commit comments

Comments
 (0)