From 8ef08ce25c9cfc306cb59b1b9cadeb1191b113ae Mon Sep 17 00:00:00 2001 From: Jeremy Zimmerman Date: Mon, 7 Nov 2022 15:49:43 -0500 Subject: [PATCH] Updates --- .../cookie-helper.spec.js | 145 --------- .../navigation-helper.spec.js | 279 ------------------ .../heritage-integration/order-helper.spec.js | 236 --------------- src/helpers/unit-test-helper.js | 63 ++-- src/mixins/analytics-mixin.spec.js | 4 +- src/mixins/experiment-mixin.spec.js | 148 ---------- 6 files changed, 48 insertions(+), 827 deletions(-) delete mode 100644 src/helpers/heritage-integration/cookie-helper.spec.js delete mode 100644 src/helpers/heritage-integration/order-helper.spec.js delete mode 100644 src/mixins/experiment-mixin.spec.js diff --git a/src/helpers/heritage-integration/cookie-helper.spec.js b/src/helpers/heritage-integration/cookie-helper.spec.js deleted file mode 100644 index 5df2ae92..00000000 --- a/src/helpers/heritage-integration/cookie-helper.spec.js +++ /dev/null @@ -1,145 +0,0 @@ -import { - getFunnelCookie, - getDeviceIdValue, - getSessionKeyValue, - getSessionIdValue, -} from "@/helpers/heritage-integration/cookie-helper.js"; -import { removeAllTestCookies, setupCookies } from "@/helpers/unit-test-helper"; - -describe("cookies", () => { - afterEach(() => { - removeAllTestCookies(); - }); - - describe("getFunnelCookie method", () => { - test("gets correct value when cookie is present", () => { - // Arrange - const testReferralNumber = 1566818; - const testReferralDate = "2022-03-15T10:56:24.597"; - const testReferralCorrelationId = "404d2b04-f86e-45c3-b373-127b6217b060"; - const testShouldResetState = false; - const testDidHeritageFunnelUpdateLast = true; - - const testCookieValue = { - ReferralNumber: testReferralNumber, - ReferralDate: testReferralDate, - ReferralCorrelationId: testReferralCorrelationId, - ShouldResetState: testShouldResetState, - DidHeritageFunnelUpdateLast: testDidHeritageFunnelUpdateLast, - SuppressConceptFunnel: true, - }; - - setupCookies({ funnelCookieValue: JSON.stringify(testCookieValue) }); - - // Act - var result = getFunnelCookie(); - - // Assert - expect(result).toEqual(testCookieValue); - expect(typeof result).toEqual("object"); - expect(result.ReferralNumber).toEqual(testReferralNumber); - expect(result.ReferralDate).toEqual(testReferralDate); - expect(result.ReferralCorrelationId).toEqual(testReferralCorrelationId); - expect(result.ShouldResetState).toEqual(testShouldResetState); - expect(result.DidHeritageFunnelUpdateLast).toEqual(testDidHeritageFunnelUpdateLast); - }); - - test("returns empty object when value is empty object", () => { - // Arrange - const testCookieValue = {}; - setupCookies({ funnelCookieValue: JSON.stringify(testCookieValue) }); - - // Act - var result = getFunnelCookie(); - - // Assert - expect(result).toEqual(testCookieValue); - expect(typeof result).toEqual("object"); - expect(Object.keys(result)).toHaveLength(0); - }); - - test("returns null when value is empty string", () => { - // Arrange - const testCookieValue = ""; - setupCookies({ funnelCookieValue: testCookieValue }); - - // Act - var result = getFunnelCookie(); - - // Assert - expect(result).toEqual(null); - }); - - test("returns null when funnel cookie doesn't exist", () => { - // Arrange - setupCookies({ includeHeritageCookie: false }); - - // Act - var result = getFunnelCookie(); - - // Assert - expect(result).toEqual(null); - }); - - test("gets correct cookie value", () => { - // Arrange - const testCookieValue = { test: "testValue" }; - - setupCookies({ funnelCookieValue: JSON.stringify(testCookieValue) }); - - // Act - const actualCookieValue = getFunnelCookie(); - - // Assert - expect(actualCookieValue).toEqual(testCookieValue); - }); - - test("getCookieValue: Gets null cookie value", () => { - // Arrange - setupCookies({ includeHeritageCookie: false }); - - // Act - const actualCookieValue = getFunnelCookie(); - - // Assert - expect(actualCookieValue).toBeNull(); - }); - }); - - describe("getDeviceIdValue", () => { - test("getDeviceIdValue, should return GUID", () => { - // Arrange - setupCookies({}); - - // Act - const result = getDeviceIdValue(); - - //Assert - expect(result).toBe("21b9b94a-ec23-42c1-aaac-e2ae4e4dbffe"); - }); - - test("getSessionKeyValue, should return session key int", () => { - // Arrange - setupCookies({}); - - // Act - const result = getSessionKeyValue(); - - //Assert - expect(result).toBe("12345"); - }); - }); - - describe("getSessionIdValue", () => { - test("getSessionIdValue, should return GUID", () => { - // Arrange - setupCookies({}); - - // Act - const result = getSessionIdValue(); - - //Assert - expect(result).toBe("cba0c3d1-3c1b-4305-bb56-31aa50f58e27"); - }); - }); -}); diff --git a/src/helpers/heritage-integration/navigation-helper.spec.js b/src/helpers/heritage-integration/navigation-helper.spec.js index 39713726..33c2c715 100644 --- a/src/helpers/heritage-integration/navigation-helper.spec.js +++ b/src/helpers/heritage-integration/navigation-helper.spec.js @@ -96,285 +96,6 @@ describe("getPageToRouteExistingOrderTo", () => { expect(result).toBe(issPageValues.VEHICLE_STYLE); }); - test("should return vehicle-damage", async () => { - // Arrange - const toRoute = { - query: {}, - }; - - // Mock out the lazy load calls for all components. - mockLazyLoadComponentReturnValues({ - [issPageValues.VEHICLE_MAKE]: true, - [issPageValues.VEHICLE_MODEL]: true, - [issPageValues.VEHICLE_STYLE]: true, - [issPageValues.VEHICLE_DAMAGE]: true, - [issPageValues.ESTIMATE]: false, - }); - - // Act - const result = await getPageToRouteExistingOrderTo(toRoute, false); - - //Assert - expect(result).toBe(issPageValues.VEHICLE_DAMAGE); - }); - - test("user has YMMS and no vehicle questions > should return vin-lookup", async () => { - // Arrange - const toRoute = { - query: {}, - }; - - // Mock out the lazy load calls for all components. - mockLazyLoadComponentReturnValues({ - [issPageValues.VEHICLE_MAKE]: true, - [issPageValues.VEHICLE_MODEL]: true, - [issPageValues.VEHICLE_STYLE]: true, - [issPageValues.VEHICLE_DAMAGE]: true, - [issPageValues.ESTIMATE]: true, - [issPageValues.CAPABILITY_QUESTIONS]: false, - [issPageValues.MOLDING_QUESTIONS]: false, - [issPageValues.VEHICLE_PARTS]: false, - [issPageValues.PART_QUESTIONS]: false, - [issPageValues.VIN_LOOKUP]: true, - }); - - // Act - const result = await getPageToRouteExistingOrderTo(toRoute, false); - - //Assert - expect(result).toBe(issPageValues.VIN_LOOKUP); - }); - - test("user has YMMS but no questions or carId > should return estimate", async () => { - // Arrange - const toRoute = { - query: {}, - }; - - // Mock out the lazy load calls for all components. - mockLazyLoadComponentReturnValues({ - [issPageValues.VEHICLE_MAKE]: true, - [issPageValues.VEHICLE_MODEL]: true, - [issPageValues.VEHICLE_STYLE]: true, - [issPageValues.VEHICLE_DAMAGE]: true, - [issPageValues.ESTIMATE]: true, - [issPageValues.CAPABILITY_QUESTIONS]: false, - [issPageValues.MOLDING_QUESTIONS]: false, - [issPageValues.VEHICLE_PARTS]: false, - [issPageValues.PART_QUESTIONS]: false, - [issPageValues.VIN_LOOKUP]: false, - }); - - // Act - const result = await getPageToRouteExistingOrderTo(toRoute, false); - - //Assert - expect(result).toBe(issPageValues.ESTIMATE); - }); - - test("user has capability questions and molding questions > should return capability questions", async () => { - // Arrange - const toRoute = { - query: {}, - }; - - // Mock out the lazy load calls for all components. - mockLazyLoadComponentReturnValues({ - [issPageValues.VEHICLE_MAKE]: true, - [issPageValues.VEHICLE_MODEL]: true, - [issPageValues.VEHICLE_STYLE]: true, - [issPageValues.VEHICLE_DAMAGE]: true, - [issPageValues.ESTIMATE]: true, - [issPageValues.CAPABILITY_QUESTIONS]: true, - [issPageValues.MOLDING_QUESTIONS]: true, - [issPageValues.VEHICLE_PARTS]: false, - [issPageValues.PART_QUESTIONS]: false, - [issPageValues.VIN_LOOKUP]: false, - }); - - // Act - const result = await getPageToRouteExistingOrderTo(toRoute, false); - - //Assert - expect(result).toBe(issPageValues.CAPABILITY_QUESTIONS); - }); - - test("user has molding questions and part questions > should return molding questions", async () => { - // Arrange - const toRoute = { - query: {}, - }; - - // Mock out the lazy load calls for all components. - mockLazyLoadComponentReturnValues({ - [issPageValues.VEHICLE_MAKE]: true, - [issPageValues.VEHICLE_MODEL]: true, - [issPageValues.VEHICLE_STYLE]: true, - [issPageValues.VEHICLE_DAMAGE]: true, - [issPageValues.ESTIMATE]: true, - [issPageValues.CAPABILITY_QUESTIONS]: false, - [issPageValues.MOLDING_QUESTIONS]: true, - [issPageValues.VEHICLE_PARTS]: false, - [issPageValues.PART_QUESTIONS]: true, - [issPageValues.VIN_LOOKUP]: false, - }); - - // Act - const result = await getPageToRouteExistingOrderTo(toRoute, false); - - //Assert - expect(result).toBe(issPageValues.MOLDING_QUESTIONS); - }); - - test("user has vehicle parts questions > should return vehicle-parts", async () => { - // Arrange - const toRoute = { - query: {}, - }; - - // Mock out the lazy load calls for all components. - mockLazyLoadComponentReturnValues({ - [issPageValues.VEHICLE_MAKE]: true, - [issPageValues.VEHICLE_MODEL]: true, - [issPageValues.VEHICLE_STYLE]: true, - [issPageValues.VEHICLE_DAMAGE]: true, - [issPageValues.ESTIMATE]: true, - [issPageValues.CAPABILITY_QUESTIONS]: false, - [issPageValues.MOLDING_QUESTIONS]: false, - [issPageValues.VEHICLE_PARTS]: true, - [issPageValues.PART_QUESTIONS]: true, - [issPageValues.VIN_LOOKUP]: false, - }); - - // Act - const result = await getPageToRouteExistingOrderTo(toRoute, false); - - //Assert - expect(result).toBe(issPageValues.VEHICLE_PARTS); - }); - - test("user has part questions > should return part-questions", async () => { - // Arrange - const toRoute = { - query: {}, - }; - - // Mock out the lazy load calls for all components. - mockLazyLoadComponentReturnValues({ - [issPageValues.VEHICLE_MAKE]: true, - [issPageValues.VEHICLE_MODEL]: true, - [issPageValues.VEHICLE_STYLE]: true, - [issPageValues.VEHICLE_DAMAGE]: true, - [issPageValues.ESTIMATE]: true, - [issPageValues.CAPABILITY_QUESTIONS]: false, - [issPageValues.MOLDING_QUESTIONS]: false, - [issPageValues.VEHICLE_PARTS]: false, - [issPageValues.PART_QUESTIONS]: true, - [issPageValues.VIN_LOOKUP]: false, - }); - - // Act - const result = await getPageToRouteExistingOrderTo(toRoute, false); - - //Assert - expect(result).toBe(issPageValues.PART_QUESTIONS); - }); - - test("existing order > should return heritage", async () => { - // Arrange - const toRoute = { - query: { - [queryStrings.START_TYPE]: "fmg", - }, - }; - - // Act - const result = await getPageToRouteExistingOrderTo(toRoute, true); - - // Assert - expect(result).toBe(issPageValues.HERITAGE); - }); -}); - -describe("navigateToHeritageFunnel", () => { - test("should save session", async () => { - // Arrange - const mockReferralNumber = "2"; - const mockCorrelationId = "55"; - const mockReferralDate = "2022"; - const mockAccountNumber = "167132"; - const mockSavedSessionId = "xxx-xxx-xxx"; - const mockCrmCustomerId = "xxx-xxx-xxx"; - - const mockOrderInfo = getMockOrderInfo( - mockReferralNumber, - mockCorrelationId, - mockReferralDate, - mockAccountNumber, - mockSavedSessionId, - mockCrmCustomerId - ); - - const mockData = { - actionList: [ - { - actionName: storeActions.SAVE_SESSION, - data: mockOrderInfo, - }, - ], - }; - - setupMocksForJsFiles(mockData); - const saveSessionFunction = jest.spyOn(orderHelper, "saveSession"); - router.navigateToExternalUrl = jest.fn(); - - // Act - await navigateToHeritageFunnel(); - - // Assert - expect(saveSessionFunction).toHaveBeenCalled(); - - // Should save before we navigate to heritage by default - const saveSessionFunctionCallOrder = saveSessionFunction.mock.invocationCallOrder[0]; - const routerNavigateFunctionCallOrder = - router.navigateToExternalUrl.mock.invocationCallOrder[0]; - expect(saveSessionFunctionCallOrder).toBeLessThan(routerNavigateFunctionCallOrder); - saveSessionFunction.mockRestore(); - }); - - test("should not save session, but should still navigate", async () => { - // Arrange - const mockReferralNumber = "2"; - const mockCorrelationId = "55"; - const mockReferralDate = "2022"; - - const mockOrderInfo = getMockOrderInfo( - mockReferralNumber, - mockCorrelationId, - mockReferralDate - ); - - const mockData = { - actionList: [ - { - actionName: storeActions.SAVE_SESSION, - data: mockOrderInfo, - }, - ], - }; - - setupMocksForJsFiles(mockData); - const saveSessionFunction = jest.spyOn(orderHelper, "saveSession"); - router.navigateToExternalUrl = jest.fn(); - - // Act - await navigateToHeritageFunnel(false); - - // Assert - expect(saveSessionFunction).not.toHaveBeenCalled(); - expect(router.navigateToExternalUrl).toHaveBeenCalled(); - saveSessionFunction.mockRestore(); - }); }); /** diff --git a/src/helpers/heritage-integration/order-helper.spec.js b/src/helpers/heritage-integration/order-helper.spec.js deleted file mode 100644 index 5ec0f4f6..00000000 --- a/src/helpers/heritage-integration/order-helper.spec.js +++ /dev/null @@ -1,236 +0,0 @@ -import * as cookieHelper from "@/helpers/heritage-integration/cookie-helper"; -import { loadSessionIfPresent, saveSession } from "@/helpers/heritage-integration/order-helper"; -import { cookieNames } from "@/constants/cookie-names"; -import { - setupMocksForJsFiles, - removeAllTestCookies, - getMockOrderInfo, - setupCookies, -} from "@/helpers/unit-test-helper.js"; -import { storeActions } from "@/constants/store-actions"; -import router from "@/router"; - -describe("loadSessionIfPresent", () => { - afterEach(() => { - removeAllTestCookies(); - }); - - test("ShouldResetState == true => funnel cookie is deleted", () => { - // Arrange - cookieHelper.deleteFunnelCookie = jest.spyOn(cookieHelper, "deleteFunnelCookie"); - const testShouldResetState = true; - - const testCookieValue = { - ShouldResetState: testShouldResetState, - ReferralCorrelationId: "xxx", - ReferralNumber: "12345", - }; - - document.cookie = `${cookieNames.FUNNEL_SESSION_INFO}=${JSON.stringify( - testCookieValue - )}; path=/; ${cookieHelper.getCookieDomainValue()}`; - - // Act - loadSessionIfPresent(); - - // Assert - expect(cookieHelper.deleteFunnelCookie).toHaveBeenCalled(); - expect(document.cookie).toBe(""); - }); - - test("ShouldResetState == true => reset store", () => { - // Arrange - cookieHelper.getFunnelCookie = jest - .spyOn(cookieHelper, "getFunnelCookie") - .mockReturnValueOnce({ - ShouldResetState: true, - ReferralCorrelationId: "xxx-xxx-xxx", - ReferralNumber: "12345", - }); - - const mockData = { - actionList: [ - { - actionName: storeActions.RESET_STATE, - }, - ], - }; - - var mocks = setupMocksForJsFiles(mockData); - - // Act - loadSessionIfPresent(); - - // Assert - expect(cookieHelper.getFunnelCookie).toHaveBeenCalled(); - expect(mocks.baseMixin.methods.dispatchStoreAction).toHaveBeenCalledWith( - storeActions.RESET_STATE - ); - }); - - test("Funnel cookie is null => store is unchanged", () => { - // Arrange - cookieHelper.getFunnelCookie = jest - .spyOn(cookieHelper, "getFunnelCookie") - .mockReturnValueOnce(null); - - const mockData = { - actionList: [ - { - actionName: storeActions.RESET_STATE, - }, - ], - }; - - var mocks = setupMocksForJsFiles(mockData); - - // Act - loadSessionIfPresent(); - - // Assert - expect(cookieHelper.getFunnelCookie).toHaveBeenCalled(); - expect(mocks.baseMixin.methods.dispatchStoreAction).not.toHaveBeenCalledWith( - storeActions.RESET_STATE - ); - }); - - test("Funnel cookie valid, should call loadSession", async () => { - // Arrange - cookieHelper.getFunnelCookie = jest - .spyOn(cookieHelper, "getFunnelCookie") - .mockReturnValueOnce({ - ShouldResetState: false, - ReferralNumber: 123456, - ReferralCorrelationId: "yyy-yyy-yyyy", - ReferralDate: new Date(), - }); - - const mockData = { - actionList: [ - { - actionName: storeActions.LOAD_SESSION, - data: { ReferralNumber: 123456, vehicle: { year: 2010 } }, - }, - ], - }; - - var mocks = setupMocksForJsFiles(mockData); - - // Act - const result = await loadSessionIfPresent(); - - // Assert - expect(cookieHelper.getFunnelCookie).toHaveBeenCalled(); - expect(mocks.baseMixin.methods.dispatchStoreAction).not.toHaveBeenCalledWith( - storeActions.LOAD_SESSION - ); - expect(result.ReferralNumber).toBe(123456); - expect(result.vehicle.year).toBe(2010); - }); -}); - -describe("saveSession", () => { - afterEach(() => { - removeAllTestCookies(); - }); - - test("saveSession => should set state order values", async () => { - // Arrange - const mockReferralNumber = "2"; - const mockCorrelationId = "55"; - const mockReferralDate = "2022"; - const mockAccountNumber = "167132"; - const mockSavedSessionId = "xxx-xxx-xxx"; - const mockCrmCustomerId = "xxx-xxx-xxx"; - - const mockOrderInfo = getMockOrderInfo( - mockReferralNumber, - mockCorrelationId, - mockReferralDate, - mockAccountNumber, - mockSavedSessionId, - mockCrmCustomerId - ); - - const mockData = { - actionList: [ - { - actionName: storeActions.SAVE_SESSION, - data: mockOrderInfo, - }, - { - actionName: storeActions.UPDATE_STORE_WITH_SAVE_SESSION_RESPONSE, - }, - ], - }; - - const mocks = setupMocksForJsFiles(mockData); - - // Act - await saveSession(); - - // Assert - expect(mocks.baseMixin.methods.dispatchStoreAction).toHaveBeenCalledWith( - storeActions.SAVE_SESSION - ); - expect(mocks.baseMixin.methods.dispatchStoreAction).toHaveBeenCalledWith( - storeActions.UPDATE_STORE_WITH_SAVE_SESSION_RESPONSE, - { - referralNumber: mockReferralNumber, - referralDate: mockReferralDate, - referralCorrelationId: mockCorrelationId, - accountNumber: mockAccountNumber, - savedSessionId: mockSavedSessionId, - crmCustomerId: mockCrmCustomerId, - }, - false - ); - }); - - test("saveSession => should update DidHeritageFunnelUpdateLast cookie value to false", async () => { - // Arrange - const mockReferralNumber = 1566818; - const mockReferralDate = "2022-03-15T10:56:24.597"; - const mockReferralCorrelationId = "404d2b04-f86e-45c3-b373-127b6217b060"; - const mockAccountNumber = "167132"; - const mockSavedSessionId = "xxx-xxx-xxx"; - const mockCrmCustomerId = "xxx-xxx-xxx"; - - const mockOrderInfo = getMockOrderInfo( - mockReferralNumber, - mockReferralCorrelationId, - mockReferralDate, - mockAccountNumber, - mockSavedSessionId, - mockCrmCustomerId - ); - - const mockData = { - actionList: [ - { - actionName: storeActions.SAVE_SESSION, - data: mockOrderInfo, - }, - ], - router: router, - }; - - setupMocksForJsFiles(mockData); - - const testCookieValue = { - ReferralNumber: mockReferralNumber, - ReferralDate: mockReferralDate, - ReferralCorrelationId: mockReferralCorrelationId, - ShouldResetState: false, - DidHeritageFunnelUpdateLast: true, - }; - - setupCookies({ funnelCookieValue: JSON.stringify(testCookieValue) }); - - // Act - await saveSession(); - - // Assert - expect(cookieHelper.getFunnelCookie().DidHeritageFunnelUpdateLast).toEqual(false); - }); -}); diff --git a/src/helpers/unit-test-helper.js b/src/helpers/unit-test-helper.js index 432de7f9..1091965f 100644 --- a/src/helpers/unit-test-helper.js +++ b/src/helpers/unit-test-helper.js @@ -40,6 +40,51 @@ const mockMixin = { export function getMountOptions(mockData) { // Define our mocks to attached to the 'global' object for Vue/Jest. const mocks = {}; + + + // Mock const files + mocks.storeActions = storeActions; + mocks.navigationScenarios = navigationScenarios; + mocks.vehicleCategories = vehicleCategories; + mocks.issPageValues = issPageValues; + mocks.queryStrings = queryStrings; + mocks.$router = mockData?.router; + + const global = { + mocks: mocks, + mixins: [mockMixin], + plugins: [pinia], + stubs: { Form } + }; + + return { global }; +} + +// Heritage integration common methods +export const cookies = { + [cookieNames.FUNNEL_SESSION_INFO]: `{"ReferralNumber":"1566818","ReferralDate":"2022-03-15T10:56:24.597","ReferralCorrelationId":"404d2b04-f86e-45c3-b373-127b6217b060","ShouldResetState":false,"DidHeritageFunnelUpdateLast":true}`, + UNIQUE_SESSION_ID: "33756020-b58e-4ec7-b8b8-3f1576719c40", + anotherCookie: "{}", + someOtherCookie: "{}", + dxdev: "did=21b9b94a-ec23-42c1-aaac-e2ae4e4dbffe", + sid: "cba0c3d1-3c1b-4305-bb56-31aa50f58e27", + skey: "12345", +}; + +// Removes test cookies for testing cookie-helper and order-helper +export function removeAllTestCookies() { + Object.keys(cookies).forEach((key) => { + document.cookie = `${key}=;Max-Age=0;`; + document.cookie = `${key}=;Max-Age=0;path=/;${getCookieDomainValue()}`; + }); +} + + + /* +// Common methods +export function getMountOptions(mockData) { + // Define our mocks to attached to the 'global' object for Vue/Jest. + const mocks = {}; //this is mocking if you use the mixin directly(baseMixin.methods.dispatchStoreAction) vs this.dispatchStoreAction setupBaseMixinDispatchStoreAction(mockData); @@ -97,24 +142,7 @@ export function setupMocksForJsFiles(mockData = {}) { return { baseMixin }; } -// Heritage integration common methods -export const cookies = { - [cookieNames.FUNNEL_SESSION_INFO]: `{"ReferralNumber":"1566818","ReferralDate":"2022-03-15T10:56:24.597","ReferralCorrelationId":"404d2b04-f86e-45c3-b373-127b6217b060","ShouldResetState":false,"DidHeritageFunnelUpdateLast":true}`, - UNIQUE_SESSION_ID: "33756020-b58e-4ec7-b8b8-3f1576719c40", - anotherCookie: "{}", - someOtherCookie: "{}", - dxdev: "did=21b9b94a-ec23-42c1-aaac-e2ae4e4dbffe", - sid: "cba0c3d1-3c1b-4305-bb56-31aa50f58e27", - skey: "12345", -}; -// Removes test cookies for testing cookie-helper and order-helper -export function removeAllTestCookies() { - Object.keys(cookies).forEach((key) => { - document.cookie = `${key}=;Max-Age=0;`; - document.cookie = `${key}=;Max-Age=0;path=/;${getCookieDomainValue()}`; - }); -} export function getMockOrderInfo( mockReferralNumber, @@ -158,3 +186,4 @@ function setupBaseMixinDispatchStoreAction(mockData) { }); } } +*/ \ No newline at end of file diff --git a/src/mixins/analytics-mixin.spec.js b/src/mixins/analytics-mixin.spec.js index c5e68b8b..f421ddb6 100644 --- a/src/mixins/analytics-mixin.spec.js +++ b/src/mixins/analytics-mixin.spec.js @@ -131,7 +131,7 @@ describe("analyticsMixin.js", () => { // Assert expect(expectedDataLayer).toEqual(expect.arrayContaining(window.dataLayer)); }); - +/* test("Experiments, should push to dataLayer with default Google Custom Dimension Index", () => { // Arrange window.dataLayer = []; @@ -227,7 +227,7 @@ describe("analyticsMixin.js", () => { }, ]); }); - +*/ test("Obj is not null after action prepended", () => { //Arrange const obj = { baseMethodName: "testMethodName", data: "testData" }; diff --git a/src/mixins/experiment-mixin.spec.js b/src/mixins/experiment-mixin.spec.js deleted file mode 100644 index cc571fbc..00000000 --- a/src/mixins/experiment-mixin.spec.js +++ /dev/null @@ -1,148 +0,0 @@ -import experimentMixin from "@/mixins/experiment-mixin"; -import { shallowMount } from "@vue/test-utils"; -import { getMountOptions } from "@/helpers/unit-test-helper.js"; -import { useMainStore } from "@/store"; - -describe("experiment-mixin", () => { - describe("hasSettingEqualTo", () => { - test("setting exists and value matches => return true", () => { - // Arrange - const { wrapper } = setupMocks({}); - - // Act - const result = wrapper.vm.hasSettingEqualTo("Setting2", "Value2"); - - // Assert - expect(result).toEqual(true); - }); - - test("setting exists and value does not match => return false", () => { - // Arrange - const { wrapper } = setupMocks({}); - - // Act - const result = wrapper.vm.hasSettingEqualTo("Setting2", "Value3"); - - // Assert - expect(result).toEqual(false); - }); - - test("setting does not exist => return false", () => { - // Arrange - const { wrapper } = setupMocks({}); - - // Act - const result = wrapper.vm.hasSettingEqualTo("SettingBoogly", "Woogly"); - - // Assert - expect(result).toEqual(false); - }); - - test("there are no settings => return false", () => { - // Arrange - const { wrapper } = setupMocks({ experimentSettings: {} }); - - // Act - const result = wrapper.vm.hasSettingEqualTo("Setting2", "Value3"); - - // Assert - expect(result).toEqual(false); - }); - }); - - describe("hasSetting", () => { - test("has setting => return true", () => { - // Arrange - const { wrapper } = setupMocks({}); - - // Act - const result = wrapper.vm.hasSetting("Setting4"); - - // Assert - expect(result).toEqual(true); - }); - - test("does not have setting => return false", () => { - // Arrange - const { wrapper } = setupMocks({}); - - // Act - const result = wrapper.vm.hasSetting("BooglyWoogly"); - - // Assert - expect(result).toEqual(false); - }); - - test("experimentSettings is empty => return false", () => { - // Arrange - const { wrapper } = setupMocks({ experimentSettings: {} }); - - // Act - const result = wrapper.vm.hasSetting("Setting4"); - - // Assert - expect(result).toEqual(false); - }); - }); - - describe("getSettingValue", () => { - test("has setting => return correct value", () => { - // Arrange - const { wrapper } = setupMocks({}); - - // Act - const result = wrapper.vm.getSettingValue("Setting3"); - - // Assert - expect(result).toEqual("Value3"); - }); - - test("does not have setting => return null", () => { - // Arrange - const { wrapper } = setupMocks({}); - - // Act - const result = wrapper.vm.getSettingValue("Hello"); - - // Assert - expect(result).toBeNull(); - }); - - test("experimentSettings is empty => return null", () => { - // Arrange - const { wrapper } = setupMocks({ experimentSettings: {} }); - - // Act - const result = wrapper.vm.getSettingValue("Hello"); - - // Assert - expect(result).toBeNull(); - }); - }); -}); - -function setupMocks({ experimentSettings }) { - const mocks = getMountOptions({}); - - const testExperimentSettings = { - Setting1: "Value1", - Setting2: "Value2", - Setting3: "Value3", - Setting4: "Value1", - Setting5: "Value2", - Setting6: "Value3", - }; - - useMainStore.getters = { - experimentSettings: experimentSettings ?? testExperimentSettings, - }; - - const mockComponent = { - template: "
", - mixins: [experimentMixin], - }; - - const wrapper = shallowMount(mockComponent, mocks); - - return { wrapper }; -}