From ffa7803ee09a9e7c41398b8980a41a7dc0a4175b Mon Sep 17 00:00:00 2001 From: Jason Gill Date: Mon, 10 Mar 2025 15:32:01 -0600 Subject: [PATCH 1/3] rename file for consistency --- clients/fides-js/__tests__/lib/fidesString.test.ts | 2 +- clients/fides-js/__tests__/lib/tcf/fidesString.test.ts | 2 +- clients/fides-js/src/fides-ext-gpp.ts | 2 +- clients/fides-js/src/fides-tcf.ts | 2 +- clients/fides-js/src/lib/{fidesString.ts => fides-string.ts} | 0 clients/fides-js/src/lib/gpp/string-to-consent.ts | 2 +- clients/fides-js/src/lib/tcf/utils.ts | 2 +- 7 files changed, 6 insertions(+), 6 deletions(-) rename clients/fides-js/src/lib/{fidesString.ts => fides-string.ts} (100%) diff --git a/clients/fides-js/__tests__/lib/fidesString.test.ts b/clients/fides-js/__tests__/lib/fidesString.test.ts index c56082b8f2..bd30806bed 100644 --- a/clients/fides-js/__tests__/lib/fidesString.test.ts +++ b/clients/fides-js/__tests__/lib/fidesString.test.ts @@ -1,6 +1,6 @@ import { CmpApi } from "@iabgpp/cmpapi"; -import { formatFidesStringWithGpp } from "../../src/lib/fidesString"; +import { formatFidesStringWithGpp } from "../../src/lib/fides-string"; describe("formatFidesStringWithGpp", () => { beforeAll(() => { diff --git a/clients/fides-js/__tests__/lib/tcf/fidesString.test.ts b/clients/fides-js/__tests__/lib/tcf/fidesString.test.ts index 966ad28067..0147389b15 100644 --- a/clients/fides-js/__tests__/lib/tcf/fidesString.test.ts +++ b/clients/fides-js/__tests__/lib/tcf/fidesString.test.ts @@ -1,7 +1,7 @@ import { decodeFidesString, idsFromAcString, -} from "../../../src/lib/fidesString"; +} from "../../../src/lib/fides-string"; describe("fidesString", () => { beforeAll(() => { diff --git a/clients/fides-js/src/fides-ext-gpp.ts b/clients/fides-js/src/fides-ext-gpp.ts index f5f46d9c42..5d26395016 100644 --- a/clients/fides-js/src/fides-ext-gpp.ts +++ b/clients/fides-js/src/fides-ext-gpp.ts @@ -28,7 +28,7 @@ import { shouldResurfaceConsent, } from "./lib/consent-utils"; import { saveFidesCookie } from "./lib/cookie"; -import { formatFidesStringWithGpp } from "./lib/fidesString"; +import { formatFidesStringWithGpp } from "./lib/fides-string"; import { CMP_VERSION, FIDES_US_REGION_TO_GPP_SECTION, diff --git a/clients/fides-js/src/fides-tcf.ts b/clients/fides-js/src/fides-tcf.ts index d0eb2d9354..0e26677247 100644 --- a/clients/fides-js/src/fides-tcf.ts +++ b/clients/fides-js/src/fides-tcf.ts @@ -34,7 +34,7 @@ import { } from "./lib/consent-types"; import { initializeDebugger } from "./lib/debugger"; import { dispatchFidesEvent, onFidesEvent } from "./lib/events"; -import { DecodedFidesString, decodeFidesString } from "./lib/fidesString"; +import { DecodedFidesString, decodeFidesString } from "./lib/fides-string"; import type { GppFunction } from "./lib/gpp/types"; import { DEFAULT_LOCALE, DEFAULT_MODAL_LINK_LABEL } from "./lib/i18n"; import { diff --git a/clients/fides-js/src/lib/fidesString.ts b/clients/fides-js/src/lib/fides-string.ts similarity index 100% rename from clients/fides-js/src/lib/fidesString.ts rename to clients/fides-js/src/lib/fides-string.ts diff --git a/clients/fides-js/src/lib/gpp/string-to-consent.ts b/clients/fides-js/src/lib/gpp/string-to-consent.ts index b8ce174fe8..cbfc2c585c 100644 --- a/clients/fides-js/src/lib/gpp/string-to-consent.ts +++ b/clients/fides-js/src/lib/gpp/string-to-consent.ts @@ -13,7 +13,7 @@ import { constructFidesRegionString, createConsentPreferencesToSave, } from "../consent-utils"; -import { DecodedFidesString, decodeFidesString } from "../fidesString"; +import { DecodedFidesString, decodeFidesString } from "../fides-string"; import { areLocalesEqual } from "../i18n/i18n-utils"; import { updateConsentPreferences } from "../preferences"; import { EMPTY_ENABLED_IDS } from "../tcf/constants"; diff --git a/clients/fides-js/src/lib/tcf/utils.ts b/clients/fides-js/src/lib/tcf/utils.ts index 4b5e93021a..517aade0d2 100644 --- a/clients/fides-js/src/lib/tcf/utils.ts +++ b/clients/fides-js/src/lib/tcf/utils.ts @@ -21,7 +21,7 @@ import { DecodedFidesString, decodeFidesString, idsFromAcString, -} from "../fidesString"; +} from "../fides-string"; import { transformConsentToFidesUserPreference, transformUserPreferenceToBoolean, From 7592a4884cab03eaaad2be2d280a2ed2c47ad595 Mon Sep 17 00:00:00 2001 From: Jason Gill Date: Mon, 10 Mar 2025 15:36:15 -0600 Subject: [PATCH 2/3] merge and rename file(s) --- ...desString.test.ts => fides-string.test.ts} | 74 +++++++++++++++++- .../__tests__/lib/fidesString.test.ts | 75 ------------------- 2 files changed, 73 insertions(+), 76 deletions(-) rename clients/fides-js/__tests__/lib/{tcf/fidesString.test.ts => fides-string.test.ts} (60%) delete mode 100644 clients/fides-js/__tests__/lib/fidesString.test.ts diff --git a/clients/fides-js/__tests__/lib/tcf/fidesString.test.ts b/clients/fides-js/__tests__/lib/fides-string.test.ts similarity index 60% rename from clients/fides-js/__tests__/lib/tcf/fidesString.test.ts rename to clients/fides-js/__tests__/lib/fides-string.test.ts index 0147389b15..5fe54bbcad 100644 --- a/clients/fides-js/__tests__/lib/tcf/fidesString.test.ts +++ b/clients/fides-js/__tests__/lib/fides-string.test.ts @@ -1,12 +1,27 @@ +import { CmpApi } from "@iabgpp/cmpapi"; + import { decodeFidesString, + formatFidesStringWithGpp, idsFromAcString, -} from "../../../src/lib/fides-string"; +} from "../../src/lib/fides-string"; describe("fidesString", () => { beforeAll(() => { + window.Fides = { + options: { tcfEnabled: false }, + fides_string: undefined, + } as any; window.fidesDebugger = () => {}; + // eslint-disable-next-line no-underscore-dangle + window.__gpp = () => {}; + }); + + beforeEach(() => { + window.Fides.options.tcfEnabled = false; + window.Fides.fides_string = undefined; }); + describe("decodeFidesString", () => { it.each([ // Empty string @@ -131,4 +146,61 @@ describe("fidesString", () => { }, ); }); + + describe("formatFidesStringWithGpp", () => { + describe("in a non-TCF experience", () => { + beforeEach(() => { + window.Fides.options.tcfEnabled = false; + }); + + it("formats GPP string with empty TC and AC parts", () => { + const cmpApi = new CmpApi(1, 1); + // Mock the GPP string + jest + .spyOn(cmpApi, "getGppString") + .mockReturnValue("DBABLA~BVAUAAAAAWA.QA"); + + const result = formatFidesStringWithGpp(cmpApi); + expect(result).toBe(",,DBABLA~BVAUAAAAAWA.QA"); + }); + }); + + describe("in a TCF experience", () => { + beforeEach(() => { + window.Fides.options.tcfEnabled = true; + }); + + it("appends GPP string to existing TC and AC strings", () => { + const cmpApi = new CmpApi(1, 1); + window.Fides.fides_string = "CPzvOIA.IAAA,1~2.3.4"; + jest + .spyOn(cmpApi, "getGppString") + .mockReturnValue("DBABLA~BVAUAAAAAWA.QA"); + + const result = formatFidesStringWithGpp(cmpApi); + expect(result).toBe("CPzvOIA.IAAA,1~2.3.4,DBABLA~BVAUAAAAAWA.QA"); + }); + + it("appends GPP string to TC string when AC string is empty", () => { + const cmpApi = new CmpApi(1, 1); + window.Fides.fides_string = "CPzvOIA.IAAA,"; + jest + .spyOn(cmpApi, "getGppString") + .mockReturnValue("DBABLA~BVAUAAAAAWA.QA"); + + const result = formatFidesStringWithGpp(cmpApi); + expect(result).toBe("CPzvOIA.IAAA,,DBABLA~BVAUAAAAAWA.QA"); + }); + + it("appends GPP string when no existing fides_string", () => { + const cmpApi = new CmpApi(1, 1); + jest + .spyOn(cmpApi, "getGppString") + .mockReturnValue("DBABLA~BVAUAAAAAWA.QA"); + + const result = formatFidesStringWithGpp(cmpApi); + expect(result).toBe(",,DBABLA~BVAUAAAAAWA.QA"); + }); + }); + }); }); diff --git a/clients/fides-js/__tests__/lib/fidesString.test.ts b/clients/fides-js/__tests__/lib/fidesString.test.ts deleted file mode 100644 index bd30806bed..0000000000 --- a/clients/fides-js/__tests__/lib/fidesString.test.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { CmpApi } from "@iabgpp/cmpapi"; - -import { formatFidesStringWithGpp } from "../../src/lib/fides-string"; - -describe("formatFidesStringWithGpp", () => { - beforeAll(() => { - window.Fides = { - options: { tcfEnabled: false }, - fides_string: undefined, - } as any; - window.fidesDebugger = () => {}; - // eslint-disable-next-line no-underscore-dangle - window.__gpp = () => {}; - }); - - beforeEach(() => { - window.Fides.options.tcfEnabled = false; - window.Fides.fides_string = undefined; - }); - - describe("in a non-TCF experience", () => { - beforeEach(() => { - window.Fides.options.tcfEnabled = false; - }); - - it("formats GPP string with empty TC and AC parts", () => { - const cmpApi = new CmpApi(1, 1); - // Mock the GPP string - jest - .spyOn(cmpApi, "getGppString") - .mockReturnValue("DBABLA~BVAUAAAAAWA.QA"); - - const result = formatFidesStringWithGpp(cmpApi); - expect(result).toBe(",,DBABLA~BVAUAAAAAWA.QA"); - }); - }); - - describe("in a TCF experience", () => { - beforeEach(() => { - window.Fides.options.tcfEnabled = true; - }); - - it("appends GPP string to existing TC and AC strings", () => { - const cmpApi = new CmpApi(1, 1); - window.Fides.fides_string = "CPzvOIA.IAAA,1~2.3.4"; - jest - .spyOn(cmpApi, "getGppString") - .mockReturnValue("DBABLA~BVAUAAAAAWA.QA"); - - const result = formatFidesStringWithGpp(cmpApi); - expect(result).toBe("CPzvOIA.IAAA,1~2.3.4,DBABLA~BVAUAAAAAWA.QA"); - }); - - it("appends GPP string to TC string when AC string is empty", () => { - const cmpApi = new CmpApi(1, 1); - window.Fides.fides_string = "CPzvOIA.IAAA,"; - jest - .spyOn(cmpApi, "getGppString") - .mockReturnValue("DBABLA~BVAUAAAAAWA.QA"); - - const result = formatFidesStringWithGpp(cmpApi); - expect(result).toBe("CPzvOIA.IAAA,,DBABLA~BVAUAAAAAWA.QA"); - }); - - it("appends GPP string when no existing fides_string", () => { - const cmpApi = new CmpApi(1, 1); - jest - .spyOn(cmpApi, "getGppString") - .mockReturnValue("DBABLA~BVAUAAAAAWA.QA"); - - const result = formatFidesStringWithGpp(cmpApi); - expect(result).toBe(",,DBABLA~BVAUAAAAAWA.QA"); - }); - }); -}); From a87b6d2432c1fbca2f6687309363166899f690ba Mon Sep 17 00:00:00 2001 From: Jason Gill Date: Mon, 10 Mar 2025 15:37:12 -0600 Subject: [PATCH 3/3] fix decoder tests --- clients/fides-js/__tests__/lib/gpp/decoder.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clients/fides-js/__tests__/lib/gpp/decoder.test.ts b/clients/fides-js/__tests__/lib/gpp/decoder.test.ts index b713ea6b61..32001207d3 100644 --- a/clients/fides-js/__tests__/lib/gpp/decoder.test.ts +++ b/clients/fides-js/__tests__/lib/gpp/decoder.test.ts @@ -3,6 +3,7 @@ import { getGppField, hasGppSection, } from "../../../src/lib/gpp/decoder"; +import { makeStub } from "../../../src/lib/gpp/stub"; import mockDecodedTCFJSON from "../../__fixtures__/mock_decoded_tcf.json"; // Mock fidesDebugger @@ -11,6 +12,7 @@ import mockDecodedTCFJSON from "../../__fixtures__/mock_decoded_tcf.json"; describe("GPP Decoder", () => { describe("decodeGppString", () => { it("should decode a US National GPP string", () => { + makeStub(); const gppString = "DBABLA~BVAoAAAAAABk.QA"; const decoded = decodeGppString(gppString); expect(decoded).toHaveLength(1);