diff --git a/src/fmg-components/save-progress-popup-question/save-progress-popup-question.spec.js b/src/fmg-components/save-progress-popup-question/save-progress-popup-question.spec.js index 273f39f11..29d102d01 100644 --- a/src/fmg-components/save-progress-popup-question/save-progress-popup-question.spec.js +++ b/src/fmg-components/save-progress-popup-question/save-progress-popup-question.spec.js @@ -159,13 +159,37 @@ describe("save-progress-popup-question ", () => { wrapper.vm.selectContactMethod("PhoneAnswer"); wrapper.vm.modal.validate = jest.fn().mockResolvedValue({ valid: true }); const resetSpy = jest.spyOn(wrapper.vm, "resetPhoneSendButtonStyle"); + const scrollSpy = jest + .spyOn(wrapper.vm, "scrollConsentIntoView") + .mockResolvedValue(undefined); await wrapper.vm.validatePhoneAndSave(); expect(wrapper.vm.showConsentErrors).toBe(true); + expect(scrollSpy).toHaveBeenCalled(); expect(resetSpy).toHaveBeenCalled(); }); + test("should scroll consent checkboxes into view", async () => { + const { wrapper } = setupMocks({ + props: { + modalWidgetName: "SaveProgressPopupWidget", + }, + }); + const mockScrollIntoView = jest.fn(); + const consentEl = document.createElement("fieldset"); + consentEl.className = "save-progress-popup-sms-consent"; + consentEl.scrollIntoView = mockScrollIntoView; + wrapper.element.appendChild(consentEl); + + await wrapper.vm.scrollConsentIntoView(); + + expect(mockScrollIntoView).toHaveBeenCalledWith({ + behavior: "smooth", + block: "nearest", + }); + }); + test("should reset the send button loader when phone validation fails", async () => { const { wrapper } = setupMocks({ props: { diff --git a/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue b/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue index 172f81718..fc4e95530 100644 --- a/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue +++ b/src/fmg-components/save-progress-popup-question/save-progress-popup-question.vue @@ -43,6 +43,7 @@ isRequired validationRules="phone-number-required" />