@@ -20,19 +20,30 @@ import { firebase, FirebaseApp } from '@firebase/app-compat';
20
20
import * as appCheckExp from '@firebase/app-check-exp' ;
21
21
import { stub , match , SinonStub } from 'sinon' ;
22
22
import * as sinonChai from 'sinon-chai' ;
23
- import { CustomProvider , ReCaptchaV3Provider } from '@firebase/app-check-exp' ;
24
- import { AppCheckTokenResult } from '../../../packages/app-check-types' ;
25
- import { PartialObserver } from '../../../packages/util/dist' ;
23
+ import {
24
+ AppCheck ,
25
+ CustomProvider ,
26
+ ReCaptchaV3Provider
27
+ } from '@firebase/app-check-exp' ;
28
+ import { AppCheckTokenResult } from '@firebase/app-check-types' ;
29
+ import { PartialObserver } from '@firebase/util' ;
30
+ import { AppCheckError } from './errors' ;
26
31
27
32
use ( sinonChai ) ;
28
33
29
34
function createTestService ( app : FirebaseApp ) : AppCheckService {
30
- return new AppCheckService (
31
- app ,
32
- appCheckExp . initializeAppCheck ( app , {
33
- provider : new ReCaptchaV3Provider ( 'fake-site-key' )
34
- } )
35
- ) ;
35
+ return new AppCheckService ( app ) ;
36
+ }
37
+
38
+ function createActivatedTestService ( app : FirebaseApp ) : AppCheckService {
39
+ const service = new AppCheckService ( app ) ;
40
+ const initializeAppCheckStub = stub (
41
+ appCheckExp ,
42
+ 'initializeAppCheck'
43
+ ) . returns ( { } as AppCheck ) ;
44
+ service . activate ( 'a-site-key' ) ;
45
+ initializeAppCheckStub . restore ( ) ;
46
+ return service ;
36
47
}
37
48
38
49
describe ( 'Firebase App Check > Service' , ( ) => {
@@ -57,7 +68,7 @@ describe('Firebase App Check > Service', () => {
57
68
'ReCaptchaV3Provider' ,
58
69
( ) => {
59
70
const initializeAppCheckStub = stub ( appCheckExp , 'initializeAppCheck' ) ;
60
- service = new AppCheckService ( app , { } as appCheckExp . AppCheck ) ;
71
+ service = new AppCheckService ( app ) ;
61
72
service . activate ( 'my_site_key' ) ;
62
73
expect ( initializeAppCheckStub ) . to . be . calledWith ( app , {
63
74
provider : match . instanceOf ( ReCaptchaV3Provider ) ,
@@ -72,7 +83,7 @@ describe('Firebase App Check > Service', () => {
72
83
' a CustomProvider' ,
73
84
( ) => {
74
85
const initializeAppCheckStub = stub ( appCheckExp , 'initializeAppCheck' ) ;
75
- service = new AppCheckService ( app , { } as appCheckExp . AppCheck ) ;
86
+ service = new AppCheckService ( app ) ;
76
87
const customGetTokenStub = stub ( ) ;
77
88
service . activate ( {
78
89
getToken : customGetTokenStub
@@ -97,7 +108,7 @@ describe('Firebase App Check > Service', () => {
97
108
appCheckExp ,
98
109
'setTokenAutoRefreshEnabled'
99
110
) ;
100
- service = createTestService ( app ) ;
111
+ service = createActivatedTestService ( app ) ;
101
112
service . setTokenAutoRefreshEnabled ( true ) ;
102
113
expect ( setTokenAutoRefreshEnabledStub ) . to . be . calledWith (
103
114
service . _delegate ,
@@ -107,7 +118,7 @@ describe('Firebase App Check > Service', () => {
107
118
} ) ;
108
119
109
120
it ( 'getToken() calls modular getToken()' , async ( ) => {
110
- service = createTestService ( app ) ;
121
+ service = createActivatedTestService ( app ) ;
111
122
const getTokenStub = stub ( appCheckExp , 'getToken' ) ;
112
123
await service . getToken ( true ) ;
113
124
expect ( getTokenStub ) . to . be . calledWith ( service . _delegate , true ) ;
@@ -116,7 +127,7 @@ describe('Firebase App Check > Service', () => {
116
127
117
128
it ( 'onTokenChanged() calls modular onTokenChanged() with observer' , ( ) => {
118
129
const onTokenChangedStub = stub ( appCheckExp , 'onTokenChanged' ) ;
119
- service = createTestService ( app ) ;
130
+ service = createActivatedTestService ( app ) ;
120
131
const observer : PartialObserver < AppCheckTokenResult > = {
121
132
next : stub ( ) ,
122
133
error : stub ( )
@@ -128,7 +139,7 @@ describe('Firebase App Check > Service', () => {
128
139
129
140
it ( 'onTokenChanged() calls modular onTokenChanged() with next/error fns' , ( ) => {
130
141
const onTokenChangedStub = stub ( appCheckExp , 'onTokenChanged' ) ;
131
- service = createTestService ( app ) ;
142
+ service = createActivatedTestService ( app ) ;
132
143
const nextFn = stub ( ) ;
133
144
const errorFn = stub ( ) ;
134
145
service . onTokenChanged ( nextFn , errorFn ) ;
@@ -139,4 +150,25 @@ describe('Firebase App Check > Service', () => {
139
150
) ;
140
151
onTokenChangedStub . restore ( ) ;
141
152
} ) ;
153
+
154
+ it ( 'setTokenAutoRefreshEnabled() throws if activate() has not been called' , async ( ) => {
155
+ service = createTestService ( app ) ;
156
+ expect ( ( ) => service . setTokenAutoRefreshEnabled ( true ) ) . to . throw (
157
+ AppCheckError . USE_BEFORE_ACTIVATION
158
+ ) ;
159
+ } ) ;
160
+
161
+ it ( 'getToken() throws if activate() has not been called' , async ( ) => {
162
+ service = createTestService ( app ) ;
163
+ expect ( ( ) => service . getToken ( true ) ) . to . throw (
164
+ AppCheckError . USE_BEFORE_ACTIVATION
165
+ ) ;
166
+ } ) ;
167
+
168
+ it ( 'onTokenChanged() throws if activate() has not been called' , async ( ) => {
169
+ service = createTestService ( app ) ;
170
+ expect ( ( ) => service . onTokenChanged ( ( ) => { } ) ) . to . throw (
171
+ AppCheckError . USE_BEFORE_ACTIVATION
172
+ ) ;
173
+ } ) ;
142
174
} ) ;
0 commit comments