From 79894f18f7d9e2342d3e04dc7e191c07624cd1eb Mon Sep 17 00:00:00 2001 From: Alex Humphries Date: Fri, 24 Jul 2026 23:14:29 -0400 Subject: [PATCH] INSR-10489: Add tests for state-specific text on payment-method --- .../payment-method/payment-method.spec.js | 30 +++++++++++++++++-- src/layouts/payment-method/payment-method.vue | 1 + 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/layouts/payment-method/payment-method.spec.js b/src/layouts/payment-method/payment-method.spec.js index edee79f9..74051c98 100644 --- a/src/layouts/payment-method/payment-method.spec.js +++ b/src/layouts/payment-method/payment-method.spec.js @@ -20,7 +20,7 @@ jest.mock('@/helpers/order-helper.js', () => ({ saveSession: jest.fn() })); -function setupMocks({ customMountOptions = {}, queryString }, mainInitialState = {}, customMixin = null) { +function setupMocks({ customMountOptions = {}, queryString }, mainInitialState = {}, customMixin = null, mockCmsContent = '') { const mountOptions = getMountOptions({ ...customMountOptions, route: { query: { issPage: issPageValues.PAYMENT_METHOD, ...queryString }, params: {} }, @@ -51,7 +51,9 @@ function setupMocks({ customMountOptions = {}, queryString }, mainInitialState = }; const cmsMixin = { methods: { - getCmsContent: jest.fn() + getCmsContent: jest.fn((widget, field) => { + return mockCmsContent; + }) } } @@ -320,4 +322,28 @@ describe('payment-method.vue', () => { expect(submitWorkOrder).toHaveBeenCalledTimes(1); }); }); + + describe('State Specific Text Rendering', () => { + test('State specific textBlock component exists when CMS content for it exists', () => { + // Arrange + const mockCmsContent = 'This is a test CMS content for state specific text.'; + const wrapper = setupMocks({}, {}, null, mockCmsContent); + + // Act + const stateSpecificTextBlock = wrapper.find('[class="state-specific-text"]'); + + // Assert + expect(stateSpecificTextBlock.exists()).toBe(true); + }); + test('State specific textBlock component does not exist when CMS content for it does not exist', () => { + // Arrange + const wrapper = setupMocks({}, {}, null, ''); + + // Act + const stateSpecificTextBlock = wrapper.find('[class="state-specific-text"]'); + + // Assert + expect(stateSpecificTextBlock.exists()).toBe(false); + }); + }); }); diff --git a/src/layouts/payment-method/payment-method.vue b/src/layouts/payment-method/payment-method.vue index 2d6e5237..95b097a8 100644 --- a/src/layouts/payment-method/payment-method.vue +++ b/src/layouts/payment-method/payment-method.vue @@ -21,6 +21,7 @@ cmsWidgetName="SiteSubHeaderWidget" />