From b1e823d17e8aa61f473eb9d7792bbbcbd899e7c0 Mon Sep 17 00:00:00 2001 From: Matt Caimi Date: Mon, 26 Feb 2024 10:09:22 -0500 Subject: [PATCH] CSR-1982 type check in handleIFrameContentWindowMessage on payment page --- src/layouts/payment/payment.spec.js | 6 +++--- src/layouts/payment/payment.vue | 16 +++++++++------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/layouts/payment/payment.spec.js b/src/layouts/payment/payment.spec.js index 717910607..34b282e8b 100644 --- a/src/layouts/payment/payment.spec.js +++ b/src/layouts/payment/payment.spec.js @@ -512,7 +512,7 @@ describe("payment.vue", () => { }); }); - describe("handleIFrameContentWindwMessage", () => { + describe("handleIFrameContentWindowMessage", () => { test("Navigates back if afterpay is closed", () => { // Arrange const event = { @@ -524,7 +524,7 @@ describe("payment.vue", () => { wrapper.vm.backButtonAction = jest.fn(); // Act - wrapper.vm.handleIFrameContentWindwMessage(event); + wrapper.vm.handleIFrameContentWindowMessage(event); // Assert expect(wrapper.vm.backButtonAction).toBeCalled(); @@ -539,7 +539,7 @@ describe("payment.vue", () => { const wrapper = setupMocks({}); // Act - wrapper.vm.handleIFrameContentWindwMessage(event); + wrapper.vm.handleIFrameContentWindowMessage(event); // Assert expect(wrapper.vm.shouldBlockInteraction).toBe(true); diff --git a/src/layouts/payment/payment.vue b/src/layouts/payment/payment.vue index e61e54753..bc3e365ad 100644 --- a/src/layouts/payment/payment.vue +++ b/src/layouts/payment/payment.vue @@ -643,17 +643,19 @@ export default { this.submitHopForm(); }, - handleIFrameContentWindwMessage(event) { - if (event.data.indexOf("afterpayClosed") > -1) { - this.backButtonAction(); - } - if (event.data.indexOf("creditCardSubmit") > -1) { - this.setUIBlock(true); + handleIFrameContentWindowMessage(event) { + if (typeof event.data === "string") { + if (event.data.indexOf("afterpayClosed") > -1) { + this.backButtonAction(); + } + if (event.data.indexOf("creditCardSubmit") > -1) { + this.setUIBlock(true); + } } }, setIFrameListener() { window.addEventListener("message", (event) => - this.handleIFrameContentWindwMessage(event) + this.handleIFrameContentWindowMessage(event) ); }, setUIBlock(val) {