Skip to content

Commit c77b56e

Browse files
committed
WIP
1 parent 3563a5d commit c77b56e

File tree

1 file changed

+52
-10
lines changed

1 file changed

+52
-10
lines changed

spec/ParseAPI.spec.js

Lines changed: 52 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe('miscellaneous', function() {
4949
});
5050
});
5151

52-
fit('fail to create a duplicate username', done => {
52+
it('fail to create a duplicate username', done => {
5353
let numCreated = 0;
5454
let numFailed = 0;
5555
let p1 = createTestUser();
@@ -80,7 +80,7 @@ describe('miscellaneous', function() {
8080
.catch(done);
8181
});
8282

83-
fit('ensure that if people already have duplicate users, they can still sign up new users', done => {
83+
it('ensure that if people already have duplicate users, they can still sign up new users', done => {
8484
let config = new Config('test');
8585
config.database.adapter.createObject('_User', { objectId: 'x', username: 'u' }, requiredUserFields)
8686
.then(() => config.database.adapter.createObject('_User', { objectId: 'y', username: 'u' }, requiredUserFields))
@@ -106,7 +106,7 @@ describe('miscellaneous', function() {
106106
});
107107
});
108108

109-
fit('ensure that email is uniquely indexed', done => {
109+
it('ensure that email is uniquely indexed', done => {
110110
let numCreated = 0;
111111
let numFailed = 0;
112112

@@ -148,15 +148,57 @@ describe('miscellaneous', function() {
148148
});
149149

150150
it('ensure that if people already have duplicate emails, they can still sign up new users', done => {
151-
152-
});
153-
154-
it('ensure you get the right error if you have 2 users with the same email', done => {
155-
151+
let config = new Config('test');
152+
config.database.adapter.createObject('_User', { objectId: 'x', email: '[email protected]' }, requiredUserFields)
153+
.then(() => config.database.adapter.createObject('_User', { objectId: 'y', email: '[email protected]' }, requiredUserFields))
154+
.then(() => {
155+
let user = new Parse.User();
156+
user.setPassword('asdf');
157+
user.setUsername('qqq');
158+
user.setEmail('[email protected]');
159+
return user.signUp();
160+
})
161+
.then(() => {
162+
let user = new Parse.User();
163+
user.setPassword('asdf');
164+
user.setUsername('www');
165+
user.setEmail('[email protected]');
166+
user.signUp()
167+
.catch(error => {
168+
expect(error.code).toEqual(Parse.Error.EMAIL_TAKEN);
169+
done();
170+
});
171+
})
172+
.catch(error => {
173+
console.log(error);
174+
fail('save should have succeeded');
175+
done();
176+
});
156177
});
157178

158-
it('ensure that if you try to sign up a user with a unique username and email, but duplicates in some other field that has a uniqueness constraint, you get a regular duplicate value error', done => {
159-
179+
fit('ensure that if you try to sign up a user with a unique username and email, but duplicates in some other field that has a uniqueness constraint, you get a regular duplicate value error', done => {
180+
let config = new Config('test');
181+
config.database.adapter.ensureUniqueness('_User', ['randomField'], requiredUserFields)
182+
.then(() => {
183+
let user = new Parse.User();
184+
user.setPassword('asdf');
185+
user.setUsername('1');
186+
user.setEmail('[email protected]');
187+
user.set('randomField', 'a');
188+
return user.signUp()
189+
})
190+
.then(() => {
191+
let user = new Parse.User();
192+
user.setPassword('asdf');
193+
user.setUsername('2');
194+
user.setEmail('[email protected]');
195+
user.set('randomField', 'a');
196+
return user.signUp()
197+
})
198+
.catch(error => {
199+
expect(error.code).toEqual(Parse.Error.DUPLICATE_VALUE);
200+
done();
201+
});
160202
});
161203

162204
it('succeed in logging in', function(done) {

0 commit comments

Comments
 (0)