@@ -100,6 +100,7 @@ describe('Secure Signal Tests', () => {
100100
101101 afterEach ( ( ) => {
102102 mocks . resetFakeTime ( ) ;
103+ mocks . removeUid2LocalStorage ( ) ;
103104 } ) ;
104105
105106 test ( 'should send signal to Google ESP when SDK initialized' , async ( ) => {
@@ -117,6 +118,57 @@ describe('Secure Signal Tests', () => {
117118 identity . advertising_token
118119 ) ;
119120 } ) ;
121+
122+ test ( 'should send signal to Google ESP when SDK initialized and Identity is available' , async ( ) => {
123+ mocks . setUid2LocalStorage ( identity ) ;
124+ __uid2SSProviderScriptLoad ( ) ;
125+ __uid2InternalHandleScriptLoad ( ) ;
126+ ( window . __uid2 as UID2 ) . init ( { } ) ;
127+ expect ( secureSignalProvidersPushMock ) . toHaveBeenCalled ( ) ;
128+ await expect ( secureSignalProvidersPushMock ) . toHaveBeenCalledWith (
129+ expect . objectContaining ( {
130+ id : 'uidapi.com' ,
131+ } )
132+ ) ;
133+ await mocks . flushPromises ( ) ;
134+ expect ( await secureSignalProvidersPushMock . mock . results [ 0 ] . value ) . toBe (
135+ identity . advertising_token
136+ ) ;
137+ } ) ;
138+
139+ test ( 'should send signal to Google ESP when SDK initialized and Identity is set after' , async ( ) => {
140+ __uid2SSProviderScriptLoad ( ) ;
141+ __uid2InternalHandleScriptLoad ( ) ;
142+ ( window . __uid2 as UID2 ) . init ( { } ) ;
143+ ( window . __uid2 as UID2 ) . setIdentity ( identity ) ;
144+ expect ( secureSignalProvidersPushMock ) . toHaveBeenCalled ( ) ;
145+ await expect ( secureSignalProvidersPushMock ) . toHaveBeenCalledWith (
146+ expect . objectContaining ( {
147+ id : 'uidapi.com' ,
148+ } )
149+ ) ;
150+ await mocks . flushPromises ( ) ;
151+ expect ( await secureSignalProvidersPushMock . mock . results [ 0 ] . value ) . toBe (
152+ identity . advertising_token
153+ ) ;
154+ } ) ;
155+
156+ test ( 'should send signal to Google ESP when SDK initialized and SS script is included later' , async ( ) => {
157+ __uid2InternalHandleScriptLoad ( ) ;
158+ ( window . __uid2 as UID2 ) . init ( { identity } ) ;
159+ __uid2SSProviderScriptLoad ( ) ;
160+ // will fire on both InitCompleted and SdkLoaded
161+ expect ( secureSignalProvidersPushMock ) . toHaveBeenCalledTimes ( 2 ) ;
162+ await expect ( secureSignalProvidersPushMock ) . toHaveBeenCalledWith (
163+ expect . objectContaining ( {
164+ id : 'uidapi.com' ,
165+ } )
166+ ) ;
167+ await mocks . flushPromises ( ) ;
168+ expect ( await secureSignalProvidersPushMock . mock . results [ 0 ] . value ) . toBe (
169+ identity . advertising_token
170+ ) ;
171+ } ) ;
120172 } ) ;
121173
122174 describe ( 'When script loaded after SDK loaded' , ( ) => {
@@ -184,6 +236,7 @@ describe('Secure Signal Tests', () => {
184236 describe ( 'When SDK initialized after both SDK and SS script loaded - UID2' , ( ) => {
185237 beforeEach ( ( ) => {
186238 window . __uid2 = new UID2 ( ) ;
239+ mocks . removeUid2LocalStorage ( ) ;
187240 } ) ;
188241 test ( 'should send identity to Google ESP' , async ( ) => {
189242 __uid2InternalHandleScriptLoad ( ) ;
0 commit comments