Skip to content

Commit f960990

Browse files
committed
index on unique-indexes: c454180 Revert "Log objects rather than JSON stringified objects (parse-community#1922)"
1 parent 8c5a249 commit f960990

File tree

2 files changed

+50
-39
lines changed

2 files changed

+50
-39
lines changed

spec/ParseAPI.spec.js

Lines changed: 43 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -81,44 +81,51 @@ describe('miscellaneous', function() {
8181
.catch(done);
8282
});
8383

84-
it('ensure that email is uniquely indexed', done => {
85-
let numCreated = 0;
86-
let numFailed = 0;
87-
88-
let user1 = new Parse.User();
89-
user1.setPassword('asdf');
90-
user1.setUsername('u1');
91-
user1.setEmail('[email protected]');
92-
let p1 = user1.signUp();
93-
p1.then(user => {
94-
numCreated++;
95-
expect(numCreated).toEqual(1);
96-
}, error => {
97-
numFailed++;
98-
expect(numFailed).toEqual(1);
99-
expect(error.code).toEqual(Parse.Error.EMAIL_TAKEN);
100-
});
84+
fit('ensure that email is uniquely indexed', done => {
85+
DatabaseAdapter._indexBuildsCompleted('test')
86+
.then(() => {
87+
let numCreated = 0;
88+
let numFailed = 0;
89+
90+
let user1 = new Parse.User();
91+
user1.setPassword('asdf');
92+
user1.setUsername('u1');
93+
user1.setEmail('[email protected]');
94+
let p1 = user1.signUp();
95+
p1.then(user => {
96+
numCreated++;
97+
expect(numCreated).toEqual(1);
98+
}, error => {
99+
numFailed++;
100+
console.log(error);
101+
expect(numFailed).toEqual(1);
102+
expect(error.code).toEqual(Parse.Error.EMAIL_TAKEN);
103+
});
101104

102-
let user2 = new Parse.User();
103-
user2.setPassword('asdf');
104-
user2.setUsername('u2');
105-
user2.setEmail('[email protected]');
106-
let p2 = user2.signUp();
107-
p2.then(user => {
108-
numCreated++;
109-
expect(numCreated).toEqual(1);
110-
}, error => {
111-
numFailed++;
112-
expect(numFailed).toEqual(1);
113-
expect(error.code).toEqual(Parse.Error.EMAIL_TAKEN);
114-
});
105+
let user2 = new Parse.User();
106+
user2.setPassword('asdf');
107+
user2.setUsername('u2');
108+
user2.setEmail('[email protected]');
109+
let p2 = user2.signUp();
110+
p2.then(user => {
111+
numCreated++;
112+
expect(numCreated).toEqual(1);
113+
}, error => {
114+
numFailed++;
115+
console.log(error);
116+
expect(numFailed).toEqual(1);
117+
expect(error.code).toEqual(Parse.Error.EMAIL_TAKEN);
118+
});
115119

116-
Parse.Promise.when([p1, p2])
117-
.then(() => {
118-
fail('one of the users should not have been created');
119-
done();
120-
})
121-
.catch(done);
120+
Parse.Promise.when([p1, p2])
121+
.then(() => {
122+
fail('one of the users should not have been created');
123+
done();
124+
})
125+
.catch(error => {
126+
fail('index build failed')
127+
done();
128+
});
122129
});
123130

124131
it('ensure that if people already have duplicate users, they can still sign up new users', done => {

src/RestWrite.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -388,11 +388,15 @@ RestWrite.prototype.transformUser = function() {
388388
if (results.length > 0) {
389389
throw new Parse.Error(Parse.Error.EMAIL_TAKEN, 'Account already exists for this email address.');
390390
}
391-
// We updated the email, send a new validation
392-
this.storage['sendVerificationEmail'] = true;
393-
this.config.userController.setEmailVerifyToken(this.data);
391+
return;
394392
});
395393
})
394+
.then(() => {
395+
// We updated the email, send a new validation
396+
this.storage['sendVerificationEmail'] = true;
397+
this.config.userController.setEmailVerifyToken(this.data);
398+
return;
399+
})
396400
};
397401

398402
RestWrite.prototype.createSessionTokenIfNeeded = function() {

0 commit comments

Comments
 (0)