@@ -3432,6 +3432,60 @@ describe('Parse.User testing', () => {
34323432 } ) ;
34333433 } ) ;
34343434
3435+ it ( 'allows login when providing email as username' , ( done ) => {
3436+ const user = new Parse . User ( ) ;
3437+ user . save ( {
3438+ username : 'yolo' ,
3439+ password : 'yolopass' ,
3440+ 3441+ } ) . then ( ( ) => {
3442+ return Parse . User . logIn ( '[email protected] ' , 'yolopass' ) ; 3443+ } ) . then ( ( user ) => {
3444+ expect ( user . get ( 'username' ) ) . toBe ( 'yolo' ) ;
3445+ } ) . then ( done ) . catch ( done . fail ) ;
3446+ } ) ;
3447+
3448+ it ( 'handles properly when 2 users share username / email pairs' , ( done ) => {
3449+ const user = new Parse . User ( {
3450+ 3451+ password : 'yolopass' ,
3452+ 3453+ } ) ;
3454+ const user2 = new Parse . User ( {
3455+ 3456+ 3457+ password : 'yolopass2' // different passwords
3458+ } ) ;
3459+
3460+ Parse . Object . saveAll ( [ user , user2 ] ) . then ( ( ) => {
3461+ return Parse . User . logIn ( '[email protected] ' , 'yolopass' ) ; 3462+ } ) . then ( ( user ) => {
3463+ // the username takes precedence over the email,
3464+ // so we get the user with username as passed in
3465+ expect ( user . get ( 'username' ) ) . toBe ( '[email protected] ' ) ; 3466+ } ) . then ( done ) . catch ( done . fail ) ;
3467+ } ) ;
3468+
3469+ it ( 'handles properly when 2 users share username / email pairs, counterpart' , ( done ) => {
3470+ const user = new Parse . User ( {
3471+ 3472+ password : 'yolopass' ,
3473+ 3474+ } ) ;
3475+ const user2 = new Parse . User ( {
3476+ 3477+ 3478+ password : 'yolopass2' // different passwords
3479+ } ) ;
3480+
3481+ Parse . Object . saveAll ( [ user , user2 ] ) . then ( ( ) => {
3482+ return Parse . User . logIn ( '[email protected] ' , 'yolopass2' ) ; 3483+ } ) . then ( done . fail ) . catch ( ( err ) => {
3484+ expect ( err . message ) . toEqual ( 'Invalid username/password.' ) ;
3485+ done ( ) ;
3486+ } ) ;
3487+ } ) ;
3488+
34353489 it ( 'fails to login when password is not provided' , ( done ) => {
34363490 const user = new Parse . User ( ) ;
34373491 user . save ( {
0 commit comments