-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
removed any no identity available event reference
- Loading branch information
1 parent
c16234b
commit f1d89c5
Showing
3 changed files
with
4 additions
and
161 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -556,147 +556,3 @@ describe('Store config UID2', () => { | |
}); | ||
}); | ||
}); | ||
|
||
describe('calls the NoIdentityAvailable event', () => { | ||
let handler: ReturnType<typeof jest.fn>; | ||
let expiredIdentity = makeIdentity({ | ||
identity_expires: Date.now() - 100000, | ||
refresh_expires: Date.now() - 100000, | ||
}); | ||
|
||
beforeEach(() => { | ||
handler = jest.fn(); | ||
uid2.callbacks.push(handler); | ||
}); | ||
|
||
test('when init is called for the first time with no identity', () => { | ||
uid2.init({}); | ||
|
||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when init is already complete and called again with no identity', () => { | ||
uid2.init({}); | ||
uid2.init({}); | ||
|
||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when init is already complete and called again with an expired identity', () => { | ||
uid2.init({}); | ||
uid2.init({ | ||
identity: expiredIdentity, | ||
}); | ||
|
||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { | ||
identity: expiredIdentity, | ||
}); | ||
}); | ||
test('when init is already complete but the existing identity is expired', () => { | ||
uid2.init({ | ||
identity: expiredIdentity, | ||
}); | ||
uid2.init({}); | ||
|
||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { | ||
identity: expiredIdentity, | ||
}); | ||
}); | ||
test('when identity is expired but refreshable', () => { | ||
let expiredRefreshableIdentity = makeIdentity({ | ||
identity_expires: Date.now() - 10000, | ||
refresh_expires: Date.now() + 10000, | ||
}); | ||
uid2.init({ identity: expiredRefreshableIdentity }); | ||
|
||
// in this case, identity is temporarily unavailable but still unavailable | ||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when login is required', () => { | ||
uid2.isLoginRequired(); | ||
|
||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when get identity returns null', () => { | ||
uid2.getIdentity(); | ||
|
||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when there is no advertising token', () => { | ||
uid2.getAdvertisingToken(); | ||
|
||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when cstg does not succeed', () => { | ||
uid2.init({}); | ||
|
||
expect(uid2.setIdentityFromEmail('a', mocks.makeUid2CstgOption())).rejects.toThrow( | ||
'Invalid email address' | ||
); | ||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when identity was valid on init but has since expired', () => { | ||
const originalIdentity = makeIdentity({ | ||
advertising_token: 'original_advertising_token', | ||
identity_expires: Date.now() + 100, | ||
}); | ||
uid2.init({ identity: originalIdentity }); | ||
|
||
expect(handler).not.toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { | ||
identity: null, | ||
}); | ||
|
||
// set time to an expired date for this identity | ||
jest.setSystemTime(originalIdentity.refresh_expires * 1000 + 1); | ||
|
||
uid2.isIdentityAvailable(); | ||
|
||
expect(handler).toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { | ||
identity: originalIdentity, | ||
}); | ||
}); | ||
}); | ||
|
||
describe('does not call NoIdentityAvailable event', () => { | ||
let validIdentity = makeIdentity(); | ||
let handler: ReturnType<typeof jest.fn>; | ||
beforeEach(() => { | ||
handler = jest.fn(); | ||
uid2.callbacks.push(handler); | ||
}); | ||
|
||
test('when setIdentity is run with a valid identity, should not call NoIdentityAvailable on set or get', () => { | ||
uid2.init({}); | ||
handler = jest.fn(); | ||
|
||
uid2.setIdentity(validIdentity); | ||
uid2.getIdentity(); | ||
uid2.getAdvertisingToken(); | ||
|
||
expect(handler).not.toHaveBeenCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when identity is set with opted out identity', () => { | ||
uid2.init({ identity: makeIdentity({ status: 'optout' }) }); | ||
|
||
expect(handler).not.toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when cstg is successful', async () => { | ||
uid2.init({}); | ||
handler = jest.fn(); | ||
|
||
expect(async () => { | ||
await uid2.setIdentityFromEmail('[email protected]', mocks.makeUid2CstgOption()); | ||
}).not.toThrow(); | ||
expect(handler).not.toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when identity is set with local storage and init has never been called', () => { | ||
mocks.setUid2LocalStorage(validIdentity); | ||
uid2.isIdentityAvailable(); | ||
|
||
expect(handler).not.toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
test('when identity is set with cookie and init has never been called', () => { | ||
mocks.setUid2Cookie(validIdentity); | ||
uid2.isIdentityAvailable(); | ||
|
||
expect(handler).not.toHaveBeenLastCalledWith(EventType.NoIdentityAvailable, { identity: null }); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters