From e45d00075d5e21840b87c6e0ceba27ad2b216d67 Mon Sep 17 00:00:00 2001 From: scottkiener-at-safelite Date: Thu, 22 Jan 2026 15:24:26 -0500 Subject: [PATCH] Fix script loading and unit tests --- .../salesforce-webchat.spec.js | 11 +++++++++- .../salesforce-webchat/salesforce-webchat.vue | 3 +-- .../sierra-webchat/sierra-webchat.spec.js | 21 ------------------- 3 files changed, 11 insertions(+), 24 deletions(-) diff --git a/src/digital-components/salesforce-webchat/salesforce-webchat.spec.js b/src/digital-components/salesforce-webchat/salesforce-webchat.spec.js index b44cd7074..54df5d428 100644 --- a/src/digital-components/salesforce-webchat/salesforce-webchat.spec.js +++ b/src/digital-components/salesforce-webchat/salesforce-webchat.spec.js @@ -6,6 +6,15 @@ import * as prodHelper from "./salesforce-helper-prod"; import { applicationConfig } from "../../constants/application-config"; describe("salesforceWebchat.vue", () => { + beforeEach(() => { + window.embeddedservice_bootstrap = { + settings: {}, + }; + }); + + afterEach(() => { + delete window.embeddedservice_bootstrap; + }); it("renders correctly", () => { const wrapper = shallowMount(salesforceWebchat); expect(wrapper.exists()).toBe(true); @@ -14,7 +23,7 @@ describe("salesforceWebchat.vue", () => { it("has the correct default data", () => { const wrapper = shallowMount(salesforceWebchat); expect(wrapper.vm.$data).toEqual({ - isAgentAvailable: false, + isWebchatLoaded: false, isWebchatOpen: false, }); }); diff --git a/src/digital-components/salesforce-webchat/salesforce-webchat.vue b/src/digital-components/salesforce-webchat/salesforce-webchat.vue index 1dab19035..21734b642 100644 --- a/src/digital-components/salesforce-webchat/salesforce-webchat.vue +++ b/src/digital-components/salesforce-webchat/salesforce-webchat.vue @@ -33,8 +33,7 @@ export default { mounted() { // Load in script from salesforce CDN const script = document.createElement("script"); - script.src = - "https://safelite2--dev.sandbox.my.site.com/ESWSalesCentralTFN1755660094477/assets/js/bootstrap.min.js"; + script.src = this.webChatScriptSrc; script.onload = this.initializeSalesforceWebchat; document.body.appendChild(script); }, diff --git a/src/digital-components/sierra-webchat/sierra-webchat.spec.js b/src/digital-components/sierra-webchat/sierra-webchat.spec.js index e4d819ffb..964a4f52e 100644 --- a/src/digital-components/sierra-webchat/sierra-webchat.spec.js +++ b/src/digital-components/sierra-webchat/sierra-webchat.spec.js @@ -77,25 +77,4 @@ describe("sierraWebchat.vue", () => { expect.objectContaining({ type: "sierra-chat-transfer" }) ); }); - - it("handles sierra-chat-transfer event and starts Salesforce chat with prepopulated fields", () => { - const transfer = { - data: { - first_name: "A", - last_name: "B", - email: "a@b.com", - chat_summary: "summary", - }, - }; - const event = new CustomEvent("sierra-chat-transfer", { detail: transfer }); - window.dispatchEvent(event); - expect(window.sierraChat.closeChatModal).toHaveBeenCalled(); - expect(window.embedded_svc.settings.prepopulatedPrechatFields).toEqual({ - FirstName: "A", - LastName: "B", - Email: "a@b.com", - Subject: "summary", - }); - expect(window.embedded_svc.liveAgentAPI.startChat).toHaveBeenCalled(); - }); });