@@ -28,6 +28,7 @@ import {
28
28
getFakeApp ,
29
29
getFakeCustomTokenProvider ,
30
30
getFakePlatformLoggingProvider ,
31
+ getFakeGreCAPTCHA ,
31
32
removegreCAPTCHAScriptsOnPage
32
33
} from '../test/util' ;
33
34
import { clearState , getState } from './state' ;
@@ -37,8 +38,12 @@ import * as internalApi from './internal-api';
37
38
import * as client from './client' ;
38
39
import * as storage from './storage' ;
39
40
import * as logger from './logger' ;
41
+ import * as util from './util' ;
40
42
41
43
describe ( 'api' , ( ) => {
44
+ beforeEach ( ( ) => {
45
+ stub ( util , 'getRecaptcha' ) . returns ( getFakeGreCAPTCHA ( ) ) ;
46
+ } ) ;
42
47
describe ( 'activate()' , ( ) => {
43
48
let app : FirebaseApp ;
44
49
@@ -126,25 +131,29 @@ describe('api', () => {
126
131
} ) ;
127
132
} ) ;
128
133
describe ( 'onTokenChanged()' , ( ) => {
134
+ const fakePlatformLoggingProvider = getFakePlatformLoggingProvider ( ) ;
135
+ const fakeRecaptchaToken = 'fake-recaptcha-token' ;
136
+ const fakeRecaptchaAppCheckToken = {
137
+ token : 'fake-recaptcha-app-check-token' ,
138
+ expireTimeMillis : Date . now ( ) + 60000 ,
139
+ issuedAtTimeMillis : 0
140
+ } ;
141
+
142
+ beforeEach ( ( ) => {
143
+ stub ( storage , 'readTokenFromStorage' ) . resolves ( undefined ) ;
144
+ stub ( storage , 'writeTokenToStorage' ) ;
145
+ } ) ;
129
146
afterEach ( ( ) => {
130
147
clearState ( ) ;
131
148
removegreCAPTCHAScriptsOnPage ( ) ;
132
149
} ) ;
133
150
it ( 'Listeners work when using top-level parameters pattern' , async ( ) => {
134
- const app = getFakeApp ( { automaticDataCollectionEnabled : true } ) ;
135
- activate ( app , FAKE_SITE_KEY , true ) ;
136
- const fakePlatformLoggingProvider = getFakePlatformLoggingProvider ( ) ;
137
- const fakeRecaptchaToken = 'fake-recaptcha-token' ;
138
- const fakeRecaptchaAppCheckToken = {
139
- token : 'fake-recaptcha-app-check-token' ,
140
- expireTimeMillis : 123 ,
141
- issuedAtTimeMillis : 0
142
- } ;
151
+ const app = getFakeApp ( ) ;
152
+ activate ( app , FAKE_SITE_KEY , false ) ;
143
153
stub ( reCAPTCHA , 'getToken' ) . returns ( Promise . resolve ( fakeRecaptchaToken ) ) ;
144
154
stub ( client , 'exchangeToken' ) . returns (
145
155
Promise . resolve ( fakeRecaptchaAppCheckToken )
146
156
) ;
147
- stub ( storage , 'writeTokenToStorage' ) . returns ( Promise . resolve ( undefined ) ) ;
148
157
149
158
const listener1 = ( ) : void => {
150
159
throw new Error ( ) ;
@@ -183,20 +192,12 @@ describe('api', () => {
183
192
} ) ;
184
193
185
194
it ( 'Listeners work when using Observer pattern' , async ( ) => {
186
- const app = getFakeApp ( { automaticDataCollectionEnabled : true } ) ;
187
- activate ( app , FAKE_SITE_KEY , true ) ;
188
- const fakePlatformLoggingProvider = getFakePlatformLoggingProvider ( ) ;
189
- const fakeRecaptchaToken = 'fake-recaptcha-token' ;
190
- const fakeRecaptchaAppCheckToken = {
191
- token : 'fake-recaptcha-app-check-token' ,
192
- expireTimeMillis : 123 ,
193
- issuedAtTimeMillis : 0
194
- } ;
195
+ const app = getFakeApp ( ) ;
196
+ activate ( app , FAKE_SITE_KEY , false ) ;
195
197
stub ( reCAPTCHA , 'getToken' ) . returns ( Promise . resolve ( fakeRecaptchaToken ) ) ;
196
198
stub ( client , 'exchangeToken' ) . returns (
197
199
Promise . resolve ( fakeRecaptchaAppCheckToken )
198
200
) ;
199
- stub ( storage , 'writeTokenToStorage' ) . returns ( Promise . resolve ( undefined ) ) ;
200
201
201
202
const listener1 = ( ) : void => {
202
203
throw new Error ( ) ;
@@ -238,11 +239,8 @@ describe('api', () => {
238
239
stub ( logger . logger , 'error' ) ;
239
240
const app = getFakeApp ( ) ;
240
241
activate ( app , FAKE_SITE_KEY , false ) ;
241
- const fakePlatformLoggingProvider = getFakePlatformLoggingProvider ( ) ;
242
- const fakeRecaptchaToken = 'fake-recaptcha-token' ;
243
242
stub ( reCAPTCHA , 'getToken' ) . returns ( Promise . resolve ( fakeRecaptchaToken ) ) ;
244
243
stub ( client , 'exchangeToken' ) . rejects ( 'exchange error' ) ;
245
- stub ( storage , 'writeTokenToStorage' ) . returns ( Promise . resolve ( undefined ) ) ;
246
244
247
245
const listener1 = spy ( ) ;
248
246
0 commit comments