File tree Expand file tree Collapse file tree 2 files changed +32
-2
lines changed Expand file tree Collapse file tree 2 files changed +32
-2
lines changed Original file line number Diff line number Diff line change @@ -1026,6 +1026,32 @@ describe('Parse.User testing', () => {
1026
1026
} ) ;
1027
1027
} ) ;
1028
1028
1029
+ it ( "login with provider should not call beforeSave trigger" , ( done ) => {
1030
+ var provider = getMockFacebookProvider ( ) ;
1031
+ Parse . User . _registerAuthenticationProvider ( provider ) ;
1032
+ Parse . User . _logInWith ( "facebook" , {
1033
+ success : function ( model ) {
1034
+ Parse . User . logOut ( ) ;
1035
+
1036
+ Parse . Cloud . beforeSave ( Parse . User , function ( req , res ) {
1037
+ res . error ( "Before save shouldn't be called on login" ) ;
1038
+ } ) ;
1039
+
1040
+ Parse . User . _logInWith ( "facebook" , {
1041
+ success : function ( innerModel ) {
1042
+ Parse . Cloud . _removeHook ( 'Triggers' , 'beforeSave' , Parse . User . className ) ;
1043
+ done ( ) ;
1044
+ } ,
1045
+ error : function ( model , error ) {
1046
+ ok ( undefined , error ) ;
1047
+ Parse . Cloud . _removeHook ( 'Triggers' , 'beforeSave' , Parse . User . className ) ;
1048
+ done ( ) ;
1049
+ }
1050
+ } ) ;
1051
+ }
1052
+ } ) ;
1053
+ } ) ;
1054
+
1029
1055
it ( "link with provider" , ( done ) => {
1030
1056
var provider = getMockFacebookProvider ( ) ;
1031
1057
Parse . User . _registerAuthenticationProvider ( provider ) ;
Original file line number Diff line number Diff line change @@ -67,12 +67,12 @@ RestWrite.prototype.execute = function() {
67
67
return this . handleInstallation ( ) ;
68
68
} ) . then ( ( ) => {
69
69
return this . handleSession ( ) ;
70
+ } ) . then ( ( ) => {
71
+ return this . validateAuthData ( ) ;
70
72
} ) . then ( ( ) => {
71
73
return this . runBeforeTrigger ( ) ;
72
74
} ) . then ( ( ) => {
73
75
return this . setRequiredFieldsIfNeeded ( ) ;
74
- } ) . then ( ( ) => {
75
- return this . validateAuthData ( ) ;
76
76
} ) . then ( ( ) => {
77
77
return this . transformUser ( ) ;
78
78
} ) . then ( ( ) => {
@@ -136,6 +136,10 @@ RestWrite.prototype.validateSchema = function() {
136
136
// Runs any beforeSave triggers against this operation.
137
137
// Any change leads to our data being mutated.
138
138
RestWrite . prototype . runBeforeTrigger = function ( ) {
139
+ if ( this . response ) {
140
+ return ;
141
+ }
142
+
139
143
// Avoid doing any setup for triggers if there is no 'beforeSave' trigger for this class.
140
144
if ( ! triggers . triggerExists ( this . className , triggers . Types . beforeSave , this . config . applicationId ) ) {
141
145
return Promise . resolve ( ) ;
You can’t perform that action at this time.
0 commit comments