diff --git a/src/constants/endpoints.js b/src/constants/endpoints.js index 06ecde94..fb036dc7 100644 --- a/src/constants/endpoints.js +++ b/src/constants/endpoints.js @@ -151,7 +151,7 @@ const endpoints = Object.freeze({ method: 'Get' }, CoveragePolicyInfo: { - url: '/coverage/api/v1/coverage/get-policy-information', + url: '/coverage/api/v1/coverage/policy-information', method: 'POST' }, RegisterClaim: { diff --git a/src/digital-components/button-question/button-question.vue b/src/digital-components/button-question/button-question.vue index f4a3597c..9c14649a 100644 --- a/src/digital-components/button-question/button-question.vue +++ b/src/digital-components/button-question/button-question.vue @@ -48,6 +48,7 @@ :isWide="isWide" :validationRules="validationRules" :textPosition="textPosition" + :additionalButtonData="additionalButtonData" :additionalButtonStyling="additionalButtonStyling" :lastValuePushedToGa="lastValuePushedToGa" :setLastValuePushedToGa="setLastValuePushedToGa" @@ -129,6 +130,7 @@ export default { suppressError: Boolean, useTextForValue: Boolean, valueToLogType: String, + additionalButtonData: Object, additionalButtonStyling: String, isSmallQuestionText: Boolean, isSmallQuestionLabelText: Boolean diff --git a/src/helpers/unit-test-helper.js b/src/helpers/unit-test-helper.js index 9ccfd29b..ac3a2694 100644 --- a/src/helpers/unit-test-helper.js +++ b/src/helpers/unit-test-helper.js @@ -152,7 +152,7 @@ export function getMountOptions(mockData) { export function getMockOrderInfo( mockReferralNumber, - mockCorrelationId, + mockReferralCorrelationId, mockReferralDate, accountNumber = "0", savedSessionId, @@ -160,7 +160,7 @@ export function getMockOrderInfo( ) { return { referralNumber: mockReferralNumber, - referralCorrelationId: mockCorrelationId, + referralCorrelationId: mockReferralCorrelationId, referralDate: mockReferralDate, accountNumber: accountNumber, savedSessionId: savedSessionId, diff --git a/src/iss-components/shop-list-button/shop-list-button.vue b/src/iss-components/shop-list-button/shop-list-button.vue index 2ae01d85..f3b6c922 100644 --- a/src/iss-components/shop-list-button/shop-list-button.vue +++ b/src/iss-components/shop-list-button/shop-list-button.vue @@ -20,6 +20,22 @@ :class="textPosition">{{ buttonLabelSubCopy }} +
+
+ {{ badgeText }} + +
import baseInputButton from '@/digital-components/base-input-button/base-input-button.vue'; import inputButtonWrapperMixin from '@/mixins/input-button-wrapper-mixin'; +import loader from '@/ux-components/loader/loader.vue'; export default { name: 'shop-list-button', components: { - baseInputButton + baseInputButton, + loader }, mixins: [inputButtonWrapperMixin], data() { @@ -53,32 +71,45 @@ export default { }; }, computed: { + displayAvailabilityIndicators() { + return true; + }, isLoaderDisplayed() { return this.availabilityRating == null; }, availabilityRatingClass() { - if (this.availabilityRating == null) { - return 'gray'; + if (this.availabilityRating != null) { + return this.availabilityRating === 'high' ? 'green' : 'orange'; } - return this.availabilityRating === 'high' ? 'green' : 'orange'; + return 'gray'; }, badgeText() { if (this.availabilityRating != null) { return this.availabilityRating === 'high' ? 'Appts available' : 'Appts low'; } - return ''; } }, - methods: { - displayLoader() { - this.isLoaderDisplayed = true; + beforeMount() { + if (this.displayAvailabilityIndicators) { + const { startDate } = this.additionalButtonData; + const { endDate } = this.additionalButtonData; + const { shopAppointmentType } = this.additionalButtonData; + + this.additionalButtonData + .availabilityRatingCallback(startDate, endDate, shopAppointmentType, this.value) + .then((data) => { + this.availabilityRating = data; + }); } - } + }, + methods: { } };