@@ -2,21 +2,15 @@ import linkSDK, { IParams, IDomains, IOauthParams } from '..';
22import { DOMAIN , VAULT , MY_ACCOUNT } from '../endpoints' ;
33import * as packageJSON from '../../package.json' ;
44
5- describe ( 'LinkSDK' , ( ) => {
6- const value = 'test' ;
7- const mockValue = { } as { params : IParams ; domains : IDomains , oauthParams : IOauthParams } ;
5+ const value = 'test' ;
6+ const mockValue = { } as { params : IParams ; domains : IDomains ; oauthParams : IOauthParams } ;
87
8+ describe ( 'LinkSDK' , ( ) => {
99 describe ( 'init' , ( ) => {
1010 test ( 'no clientId' , async ( ) => {
11- const errorTracker = jest . fn ( ) ;
12-
13- try {
11+ expect ( ( ) => {
1412 linkSDK . init ( { clientId : '' } ) ;
15- } catch ( error ) {
16- errorTracker ( error ) ;
17- }
18-
19- expect ( errorTracker ) . toBeCalled ( ) ;
13+ } ) . toThrow ( 'Need a clientId to initialize' ) ;
2014 } ) ;
2115
2216 test ( 'default' , async ( ) => {
@@ -109,14 +103,10 @@ describe('LinkSDK', () => {
109103 } ) ;
110104
111105 describe ( 'authorize' , ( ) => {
112- test ( 'Calling "authorize" method before an init will failed ' , async ( ) => {
113- try {
106+ test ( 'Calling "authorize" method before an init will fail ' , async ( ) => {
107+ expect ( ( ) => {
114108 linkSDK . authorize ( ) ;
115-
116- throw new Error ( 'failed' ) ;
117- } catch ( error ) {
118- expect ( error . message ) . not . toBe ( 'failed' ) ;
119- }
109+ } ) . toThrow ( 'SDK not initialized' ) ;
120110 } ) ;
121111
122112 test ( 'default params' , async ( ) => {
@@ -125,12 +115,12 @@ describe('LinkSDK', () => {
125115 linkSDK . init . call ( mockValue , {
126116 clientId : value
127117 } ) ;
118+ // @ts -ignore Ignores missing arguments to test user passing no arguments
128119 linkSDK . authorize . call ( mockValue ) ;
129120
130121 expect ( open ) . toBeCalled ( ) ;
131122
132- const url = open . mock . calls [ 0 ] [ 0 ] ;
133- const isNewTab = open . mock . calls [ 0 ] [ 1 ] ;
123+ const [ [ url , isNewTab ] ] = open . mock . calls ; // [0][1]
134124
135125 const host = `https://${ mockValue . domains . myaccount } /${ MY_ACCOUNT . PATHS . OAUTH } ` ;
136126 expect ( url ) . toContain ( host ) ;
@@ -162,32 +152,27 @@ describe('LinkSDK', () => {
162152
163153 expect ( open ) . toBeCalled ( ) ;
164154
165- const isNewTab = open . mock . calls [ 0 ] [ 1 ] ;
155+ const [ [ url , isNewTab ] ] = open . mock . calls ; // [0][1]
166156 expect ( isNewTab ) . toBe ( '_blank' ) ;
167157
168- const url = open . mock . calls [ 0 ] [ 0 ] ;
169158 const { params, domains, oauthParams } = mockValue ;
170159 const host = `https://${ domains . myaccount } /${ MY_ACCOUNT . PATHS . OAUTH } ` ;
171160 const qs =
172161 `client_id=${ params . client_id } &redirect_uri=${ encodeURIComponent ( oauthParams . redirect_uri ) } ` +
173162 `&response_type=token&scope=${ value } ` ;
174163 const configs = encodeURIComponent (
175- `email= ${ email } ; sdk_platform=js;sdk_version=${ packageJSON . version } ;auth_action=${ authPage } `
164+ `sdk_platform=js;sdk_version=${ packageJSON . version } ;email= ${ email } ;auth_action=${ authPage } `
176165 ) ;
177166
178167 expect ( url ) . toBe ( `${ host } ?${ qs } &configs=${ configs } ` ) ;
179168 } ) ;
180169 } ) ;
181170
182171 describe ( 'openVault' , ( ) => {
183- test ( 'Calling "openVault" method before an init will failed ' , async ( ) => {
184- try {
172+ test ( 'Calling "openVault" method before an init will fail ' , async ( ) => {
173+ expect ( ( ) => {
185174 linkSDK . openVault ( ) ;
186-
187- throw new Error ( 'failed' ) ;
188- } catch ( error ) {
189- expect ( error . message ) . not . toBe ( 'failed' ) ;
190- }
175+ } ) . toThrow ( 'SDK not initialized' ) ;
191176 } ) ;
192177
193178 test ( 'default params' , async ( ) => {
@@ -197,12 +182,12 @@ describe('LinkSDK', () => {
197182 clientId : value ,
198183 scope : [ value ]
199184 } ) ;
185+ // @ts -ignore Ignores missing arguments to test user passing no arguments
200186 linkSDK . openVault . call ( mockValue ) ;
201187
202188 expect ( open ) . toBeCalled ( ) ;
203189
204- const url = open . mock . calls [ 0 ] [ 0 ] ;
205- const isNewTab = open . mock . calls [ 0 ] [ 1 ] ;
190+ const [ [ url , isNewTab ] ] = open . mock . calls ; // [0][1]
206191
207192 const host = `https://${ mockValue . domains . vault } ` ;
208193 expect ( url ) . toContain ( host ) ;
@@ -231,10 +216,9 @@ describe('LinkSDK', () => {
231216
232217 expect ( open ) . toBeCalled ( ) ;
233218
234- const isNewTab = open . mock . calls [ 0 ] [ 1 ] ;
219+ const [ [ url , isNewTab ] ] = open . mock . calls ; // [0][1]
235220 expect ( isNewTab ) . toBe ( '_blank' ) ;
236221
237- const url = open . mock . calls [ 0 ] [ 0 ] ;
238222 const { params, domains } = mockValue ;
239223 const host = `https://${ domains . vault } ` ;
240224 const qs = `client_id=${ params . client_id } ` ;
@@ -246,13 +230,10 @@ describe('LinkSDK', () => {
246230
247231 describe ( 'openSettings' , ( ) => {
248232 test ( 'Calling "openSettings" method before an init will failed' , async ( ) => {
249- try {
233+ expect ( ( ) => {
234+ // @ts -ignore Ignores missing arguments to test user passing no arguments
250235 linkSDK . openSettings ( ) ;
251-
252- throw new Error ( 'failed' ) ;
253- } catch ( error ) {
254- expect ( error . message ) . not . toBe ( 'failed' ) ;
255- }
236+ } ) . toThrow ( 'SDK not initialized' ) ;
256237 } ) ;
257238
258239 test ( 'default params' , async ( ) => {
@@ -262,12 +243,12 @@ describe('LinkSDK', () => {
262243 clientId : value ,
263244 scope : [ value ]
264245 } ) ;
246+ // @ts -ignore Ignores missing arguments to test user passing no arguments
265247 linkSDK . openSettings . call ( mockValue ) ;
266248
267249 expect ( open ) . toBeCalled ( ) ;
268250
269- const url = open . mock . calls [ 0 ] [ 0 ] ;
270- const isNewTab = open . mock . calls [ 0 ] [ 1 ] ;
251+ const [ [ url , isNewTab ] ] = open . mock . calls ; // [0][1]
271252
272253 const host = `https://${ mockValue . domains . myaccount } /${ MY_ACCOUNT . PATHS . SETTINGS } ` ;
273254 expect ( url ) . toContain ( host ) ;
@@ -296,10 +277,9 @@ describe('LinkSDK', () => {
296277
297278 expect ( open ) . toBeCalled ( ) ;
298279
299- const isNewTab = open . mock . calls [ 0 ] [ 1 ] ;
280+ const [ [ url , isNewTab ] ] = open . mock . calls ; // [0][1]
300281 expect ( isNewTab ) . toBe ( '_blank' ) ;
301282
302- const url = open . mock . calls [ 0 ] [ 0 ] ;
303283 const { params, domains } = mockValue ;
304284 const host = `https://${ domains . myaccount } /${ MY_ACCOUNT . PATHS . SETTINGS } ` ;
305285 const qs = `client_id=${ params . client_id } ` ;
0 commit comments