Skip to content

Commit c0d815a

Browse files
committed
more cases
1 parent c7f4f5d commit c0d815a

File tree

3 files changed

+66
-15
lines changed

3 files changed

+66
-15
lines changed

src/integrationTests/secureSignal.test.ts

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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();

src/secureSignalEuid.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@ export function __euidSSProviderScriptLoad() {
2020
window.__euid = window.__euid || {
2121
callbacks: [],
2222
};
23-
window.__euid.callbacks?.push((eventType) => {
24-
if (eventType === 'SdkLoaded') {
25-
if (window.__euid?.getIdentity()) {
26-
window.__euidSecureSignalProvider.registerSecureSignalProvider();
27-
}
28-
}
29-
if (eventType === 'IdentityUpdated') {
23+
window.__euid.callbacks.push((eventType) => {
24+
if (
25+
eventType === 'InitCompleted' ||
26+
eventType === 'SdkLoaded' ||
27+
eventType === 'IdentityUpdated'
28+
) {
3029
if (window.__euid.getIdentity()) {
3130
window.__euidSecureSignalProvider.registerSecureSignalProvider();
3231
}

src/secureSignalUid2.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@ export function __uid2SSProviderScriptLoad() {
1717
window.__uid2 = window.__uid2 || {
1818
callbacks: [],
1919
};
20-
window.__uid2.callbacks?.push((eventType) => {
21-
if (eventType === 'SdkLoaded') {
22-
if (window.__uid2?.getIdentity()) {
23-
window.__uid2SecureSignalProvider.registerSecureSignalProvider();
24-
}
25-
}
26-
if (eventType === 'IdentityUpdated') {
27-
if (window.__uid2?.getIdentity()) {
20+
window.__uid2.callbacks.push((eventType) => {
21+
if (
22+
eventType === 'InitCompleted' ||
23+
eventType === 'SdkLoaded' ||
24+
eventType === 'IdentityUpdated'
25+
) {
26+
if (window.__uid2.getIdentity()) {
2827
window.__uid2SecureSignalProvider.registerSecureSignalProvider();
2928
}
3029
}

0 commit comments

Comments
 (0)