Skip to content

Commit

Permalink
feat: enable unsetting authenticatedUserToken (#518)
Browse files Browse the repository at this point in the history
  • Loading branch information
jkaho authored Nov 16, 2023
1 parent 50822a7 commit aa1198a
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 4 deletions.
7 changes: 7 additions & 0 deletions lib/__tests__/_tokenUtils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,13 @@ describe("tokenUtils", () => {
analyticsInstance.setAuthenticatedUserToken("008");
expect(document.cookie).toBe("");
});
it("should be able to unset authenticatedUserToken", () => {
analyticsInstance.setAuthenticatedUserToken("008");
expect(analyticsInstance._authenticatedUserToken).toBe("008");

analyticsInstance.setAuthenticatedUserToken(undefined);
expect(analyticsInstance._authenticatedUserToken).toBeUndefined();
});
});

describe("getUserToken", () => {
Expand Down
20 changes: 18 additions & 2 deletions lib/__tests__/init.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -528,8 +528,8 @@ describe("init", () => {

describe("authenticatedUserToken param", () => {
let setAuthenticatedUserToken: jest.SpyInstance<
number | string,
[authenticatedUserToken: number | string]
number | string | undefined,
[authenticatedUserToken?: number | string]
>;
beforeEach(() => {
setAuthenticatedUserToken = jest.spyOn(
Expand Down Expand Up @@ -572,6 +572,22 @@ describe("init", () => {
});
});

it("can unset authenticatedUserToken afterwards", (done) => {
expect.assertions(3);
analyticsInstance.init({
apiKey: "***",
appId: "XXX",
authenticatedUserToken: "abc"
});
analyticsInstance.setAuthenticatedUserToken(undefined);
expect(setAuthenticatedUserToken).toHaveBeenCalledTimes(2);
expect(setAuthenticatedUserToken).toHaveBeenLastCalledWith(undefined);
analyticsInstance.getAuthenticatedUserToken(null, (_err, value) => {
expect(value).toBeUndefined();
done();
});
});

it("should not set authenticatedUserToken if not passed", () => {
expect.assertions(2);
analyticsInstance.init({
Expand Down
4 changes: 2 additions & 2 deletions lib/_tokenUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ export function onUserTokenChange(

export function setAuthenticatedUserToken(
this: AlgoliaAnalytics,
authenticatedUserToken: number | string
): number | string {
authenticatedUserToken: number | string | undefined
): number | string | undefined {
this._authenticatedUserToken = authenticatedUserToken;
if (isFunction(this._onAuthenticatedUserTokenChangeCallback)) {
this._onAuthenticatedUserTokenChangeCallback(this._authenticatedUserToken);
Expand Down

0 comments on commit aa1198a

Please sign in to comment.