@@ -5,7 +5,7 @@ const authenticationLoader = require('../src/Adapters/Auth');
5
5
const path = require ( 'path' ) ;
6
6
7
7
describe ( 'AuthenticationProviders' , function ( ) {
8
- [ "facebook" , "github" , "instagram" , "google" , "linkedin" , "meetup" , "twitter" , "janrainengage" , "janraincapture" , "vkontakte" ] . map ( function ( providerName ) {
8
+ [ "facebook" , "facebookaccountkit" , " github", "instagram" , "google" , "linkedin" , "meetup" , "twitter" , "janrainengage" , "janraincapture" , "vkontakte" ] . map ( function ( providerName ) {
9
9
it ( "Should validate structure of " + providerName , ( done ) => {
10
10
const provider = require ( "../src/Adapters/Auth/" + providerName ) ;
11
11
jequal ( typeof provider . validateAuthData , "function" ) ;
@@ -345,4 +345,70 @@ describe('AuthenticationProviders', function() {
345
345
expect ( appIds ) . toEqual ( [ 'a' , 'b' ] ) ;
346
346
expect ( providerOptions ) . toEqual ( options . custom ) ;
347
347
} ) ;
348
+
349
+ it ( 'properly loads Facebook accountkit adapter with options' , ( ) => {
350
+ const options = {
351
+ facebookaccountkit : {
352
+ appIds : [ 'a' , 'b' ] ,
353
+ appSecret : 'secret'
354
+ }
355
+ } ;
356
+ const { adapter, appIds, providerOptions} = authenticationLoader . loadAuthAdapter ( 'facebookaccountkit' , options ) ;
357
+ validateAuthenticationAdapter ( adapter ) ;
358
+ expect ( appIds ) . toEqual ( [ 'a' , 'b' ] ) ;
359
+ expect ( providerOptions . appSecret ) . toEqual ( 'secret' ) ;
360
+ } ) ;
361
+
362
+ it ( 'should fail if Facebook appIds is not configured properly' , ( done ) => {
363
+ const options = {
364
+ facebookaccountkit : {
365
+ appIds : [ ]
366
+ }
367
+ } ;
368
+ const { adapter, appIds} = authenticationLoader . loadAuthAdapter ( 'facebookaccountkit' , options ) ;
369
+ adapter . validateAppId ( appIds )
370
+ . then ( done . fail , err => {
371
+ expect ( err . code ) . toBe ( Parse . Error . OBJECT_NOT_FOUND ) ;
372
+ done ( ) ;
373
+ } )
374
+ } ) ;
375
+
376
+ it ( 'should fail to validate Facebook accountkit auth with bad token' , ( done ) => {
377
+ const options = {
378
+ facebookaccountkit : {
379
+ appIds : [ 'a' , 'b' ]
380
+ }
381
+ } ;
382
+ const authData = {
383
+ id : 'fakeid' ,
384
+ access_token : 'badtoken'
385
+ } ;
386
+ const { adapter} = authenticationLoader . loadAuthAdapter ( 'facebookaccountkit' , options ) ;
387
+ adapter . validateAuthData ( authData )
388
+ . then ( done . fail , err => {
389
+ expect ( err . code ) . toBe ( 190 ) ;
390
+ expect ( err . type ) . toBe ( 'OAuthException' ) ;
391
+ done ( ) ;
392
+ } )
393
+ } ) ;
394
+
395
+ it ( 'should fail to validate Facebook accountkit auth with bad token regardless of app secret proof' , ( done ) => {
396
+ const options = {
397
+ facebookaccountkit : {
398
+ appIds : [ 'a' , 'b' ] ,
399
+ appSecret : 'badsecret'
400
+ }
401
+ } ;
402
+ const authData = {
403
+ id : 'fakeid' ,
404
+ access_token : 'badtoken'
405
+ } ;
406
+ const { adapter, providerOptions} = authenticationLoader . loadAuthAdapter ( 'facebookaccountkit' , options ) ;
407
+ adapter . validateAuthData ( authData , providerOptions )
408
+ . then ( done . fail , err => {
409
+ expect ( err . code ) . toBe ( 190 ) ;
410
+ expect ( err . type ) . toBe ( 'OAuthException' ) ;
411
+ done ( ) ;
412
+ } )
413
+ } ) ;
348
414
} ) ;
0 commit comments