Fix merge conflicts

This commit is contained in:
Katie 2022-07-13 14:03:46 -04:00
commit bf35cfa866
14 changed files with 51 additions and 60 deletions

View file

@ -117,8 +117,7 @@ describe("buttonQuestion.vue", () => {
const wrapper = shallowMount(buttonQuestion, setupMocks({propsData: {groupName: "group-name"}})); const wrapper = shallowMount(buttonQuestion, setupMocks({propsData: {groupName: "group-name"}}));
await wrapper.setProps({ await wrapper.setProps({
answers: ["2022", "2021", "2020"], answers: ["2022", "2021", "2020"],
isMultiSelect: false, isMultiSelect: false
modelValue: []
}); });
const val = { checkValue: true, value: "2021", } const val = { checkValue: true, value: "2021", }
wrapper.vm.handleCheckedChanged(val); wrapper.vm.handleCheckedChanged(val);

View file

@ -35,7 +35,6 @@
data-test="button" data-test="button"
:validationRules="validationRules" :validationRules="validationRules"
:class="[suppressError ? 'alertError' : '']" :class="[suppressError ? 'alertError' : '']"
:clearOnUnmount="clearOnUnmount"
/> />
<!-- For nested questions --> <!-- For nested questions -->
<transition name="fade" mode="out-in"> <transition name="fade" mode="out-in">
@ -169,7 +168,6 @@ export default {
this.selectedValues = val.value; this.selectedValues = val.value;
} else { } else {
if(Array.isArray(this.selectedValues)) { if(Array.isArray(this.selectedValues)) {
const newSelectedValues = this.selectedValues;
val.checkValue ? newSelectedValues.push(val.value) : newSelectedValues.splice(newSelectedValues.indexOf(val.value), 1); val.checkValue ? newSelectedValues.push(val.value) : newSelectedValues.splice(newSelectedValues.indexOf(val.value), 1);
this.selectedValues = newSelectedValues; this.selectedValues = newSelectedValues;
} }

View file

@ -7,11 +7,12 @@
<menuModal/> <menuModal/>
</div> </div>
<alert <alert
class="position-absolute rounded-0 w-100 border-0 shadow-sm"
v-if="displayGlobalAlert" v-if="displayGlobalAlert"
:alertClass="globalAlertMessage.type" class="position-absolute rounded-0 w-100 border-0 shadow-sm"
cmsWidgetName="GlobalAlert"
:manualHeadline="globalAlertMessage.messageHeadline" :manualHeadline="globalAlertMessage.messageHeadline"
:manualCopy="globalAlertMessage.messageCopy" :manualCopy="globalAlertMessage.messageCopy"
:alertClass="globalAlertMessage.type"
v-bind:isDismissible="globalAlertMessage.isDismissible" v-bind:isDismissible="globalAlertMessage.isDismissible"
/> />
</template> </template>

View file

@ -55,13 +55,15 @@
</div> </div>
</div> </div>
</transition> </transition>
<alert ref="alertVerificationWarning" v-if="displayVerificationWarning" <alert ref="alertVerificationWarning"
v-if="displayVerificationWarning"
class="mb-4" class="mb-4"
cmsWidgetName="AlertVerificationWarningWidget" cmsWidgetName="AlertVerificationWarningWidget"
alertClass="alert-warning" alertClass="alert-warning"
v-bind:isDismissible="false" v-bind:isDismissible="false"
/> />
<alert ref="alertNoMatchWarning" v-if="displayNoMatchWarning" <alert ref="alertNoMatchWarning"
v-if="displayNoMatchWarning"
class="mb-4" class="mb-4"
cmsWidgetName="AlertNoMatchWarningWidget" cmsWidgetName="AlertNoMatchWarningWidget"
alertClass="alert-warning" alertClass="alert-warning"

View file

@ -9,13 +9,13 @@
isRequired isRequired
:validation-rules="validationRules" :validation-rules="validationRules"
/> />
<alert <alert ref="differentVehicleAlert"
ref="differentVehicleAlert"
v-if="isCarIdDifferent" v-if="isCarIdDifferent"
class="my-3" class="my-3"
alertClass="alert-warning" cmsWidgetName="FoundWindshield"
:manualHeadline="differentVehicleAlertHeader" :manualHeadline="differentVehicleAlertHeader"
:manualCopy="differentVehicleAlertBody" :manualCopy="differentVehicleAlertBody"
alertClass="alert-warning"
v-bind:isDismissible="false" v-bind:isDismissible="false"
/> />
</template> </template>

View file

@ -11,11 +11,10 @@
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" /> <funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
<div class="fade-on-route-transition sub-container make-tall"> <div class="fade-on-route-transition sub-container make-tall">
<alert <alert
class="vinLookupMethodHeading" class="vinLookupMethodHeading"
v-model="customAlertData" cmsWidgetName="AlertVinLookupQuestion"
alertClass="" alertClass=""
cmsWidgetName="AlertVinLookupQuestion" />
/>
<buttonQuestion <buttonQuestion
cmsWidgetName="VinLookupMethod" cmsWidgetName="VinLookupMethod"
:answers="answersFromCms" :answers="answersFromCms"

View file

@ -257,7 +257,7 @@ describe("vehicle-damage.vue", () => {
}); });
describe("alert", () => { describe("alert", () => {
test("when displayVehicleChangeAlert router params is true, the alert: 'vehicleChangeAlert' should be visible", () => { test("when displayVehicleChangeAlert router params is true, the alert: 'vehicleChangeAlert' should be rendered", () => {
// Arrange & Act // Arrange & Act
const { wrapper } = setupMocks({ const { wrapper } = setupMocks({
mountOptionsMockData: { mountOptionsMockData: {
@ -269,10 +269,10 @@ describe("vehicle-damage.vue", () => {
} }
}); });
// Assert // Assert
expect(wrapper.findComponent({ ref: 'vehicleChangeAlert' }).isVisible()).toBe(true); expect(wrapper.findComponent({ ref: 'vehicleChangeAlert' }).exists()).toBe(true);
}); });
test("when displayVehicleChangeAlert router params is false, the alert: 'vehicleChangeAlert' should not be visible", () => { test("when displayVehicleChangeAlert router params is false, the alert: 'vehicleChangeAlert' should not be rendered", () => {
// Arrange & Act // Arrange & Act
const { wrapper } = setupMocks({ const { wrapper } = setupMocks({
mountOptionsMockData: { mountOptionsMockData: {
@ -284,10 +284,10 @@ describe("vehicle-damage.vue", () => {
} }
}); });
// Assert // Assert
expect(wrapper.findComponent({ ref: 'vehicleChangeAlert' }).isVisible()).toBe(false); expect(wrapper.findComponent({ ref: 'vehicleChangeAlert' }).exists()).toBe(false);
}); });
test("when displayVehicleChangeAlert router params is undefined, the alert: 'vehicleChangeAlert' should not be visible", () => { test("when displayVehicleChangeAlert router params is undefined, the alert: 'vehicleChangeAlert' should not be rednered", () => {
// Arrange & Act // Arrange & Act
const { wrapper } = setupMocks({ const { wrapper } = setupMocks({
mountOptionsMockData: { mountOptionsMockData: {
@ -299,7 +299,7 @@ describe("vehicle-damage.vue", () => {
} }
}); });
// Assert // Assert
expect(wrapper.findComponent({ ref: 'vehicleChangeAlert' }).isVisible()).toBe(false); expect(wrapper.findComponent({ ref: 'vehicleChangeAlert' }).exists()).toBe(false);
}) })
}); });

View file

@ -10,11 +10,10 @@
<vehicleBanner cmsWidgetName="VehicleBannerWidget" :displayGenericVehicleImage=false /> <vehicleBanner cmsWidgetName="VehicleBannerWidget" :displayGenericVehicleImage=false />
<funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" /> <funnelSubHeader cmsWidgetName="FunnelSubHeaderWidget" />
<div class="fade-on-route-transition sub-container make-tall"> <div class="fade-on-route-transition sub-container make-tall">
<alert <alert ref="vehicleChangeAlert"
ref="vehicleChangeAlert" v-if="shouldDisplayVehicleChangeAlert"
class="mt-5 mb-0" class="mt-5 mb-0"
cmsWidgetName="VehicleChangeAlert" cmsWidgetName="VehicleChangeAlert"
v-show="shouldDisplayVehicleChangeAlert"
alertClass="alert-warning" alertClass="alert-warning"
:isDismissible="false" :isDismissible="false"
/> />
@ -32,9 +31,9 @@
:selectedDamageLocations="selectedDamageLocations" :selectedDamageLocations="selectedDamageLocations"
/> />
<alert <alert
v-if="hasRepairReplaceConflict"
class="my-5" class="my-5"
cmsWidgetName="HasReplacementConflict" cmsWidgetName="HasReplacementConflict"
v-show="hasRepairReplaceConflict"
alertClass="alert-danger" alertClass="alert-danger"
:isDismissible="false" :isDismissible="false"
/> />

View file

@ -8,9 +8,9 @@
:validationRules="windshieldDamageTypeQuestionValidationRules" :validationRules="windshieldDamageTypeQuestionValidationRules"
/> />
<alert <alert
v-if="showNoReplacementAvailableError"
class="my-3" class="my-3"
cmsWidgetName="NoReplacementAvailableError" cmsWidgetName="NoReplacementAvailableError"
v-if="showNoReplacementAvailableError"
alertClass="alert-danger" alertClass="alert-danger"
:isDismissible="false" :isDismissible="false"
/> />
@ -30,9 +30,9 @@
isRequired isRequired
/> />
<alert <alert
v-if="hasSplitSingleConflict"
class="mt-5" class="mt-5"
cmsWidgetName="SplitSingleConflict" cmsWidgetName="SplitSingleConflict"
v-if="hasSplitSingleConflict"
alertClass="alert-danger" alertClass="alert-danger"
:isDismissible="false" :isDismissible="false"
/> />

View file

@ -69,7 +69,10 @@ export default {
}, },
dynamicStrings(){ dynamicStrings(){
return dynamicStrings; return dynamicStrings;
} },
cssClassNameForCmsWidget(){
return "widget-name-" + this.cmsWidgetName;
},
}, },
}; };

View file

@ -2,7 +2,7 @@
<div <div
class="alert fade show text-center mb-0 py-2 px-4" class="alert fade show text-center mb-0 py-2 px-4"
role="alert" role="alert"
:class="[isDismissible ? 'alert-dismissible' : '', this.alertClass]" :class="[isDismissible ? 'alert-dismissible' : '', this.alertClass, this.cssClassNameForCmsWidget]"
> >
<p class="m-0 fw-bold alert-heading">{{ alertHeadline }}</p> <p class="m-0 fw-bold alert-heading">{{ alertHeadline }}</p>
<template v-for="paragraph in splitAlertCopyForParagraphTag" :key="paragraph"> <template v-for="paragraph in splitAlertCopyForParagraphTag" :key="paragraph">
@ -54,7 +54,15 @@ export default {
alert-info (blue) alert-info (blue)
*/ */
alertClass: String, alertClass: String,
cmsWidgetName: String, cmsWidgetName: {
type: String,
default(rawProps) {
if (!rawProps.cmsWidgetName) {
console.log('Error: Missing a CMS Widget Name (required field)');
}
return 'widgetUndefined';
},
},
manualHeadline: String, manualHeadline: String,
manualCopy: String, manualCopy: String,
shouldScrollToOnMount: { shouldScrollToOnMount: {
@ -64,10 +72,10 @@ export default {
}, },
computed: { computed: {
alertHeadline(){ alertHeadline(){
return this.cmsWidgetName ? this.getCmsContent(this.cmsWidgetName, 'HeadlineText') : this.manualHeadline; return this.manualHeadline ? this.manualHeadline : this.getCmsContent(this.cmsWidgetName, 'HeadlineText');
}, },
alertCopy(){ alertCopy(){
return this.cmsWidgetName ? this.getCmsContent(this.cmsWidgetName, 'BodyText') : this.manualCopy; return this.manualCopy ? this.manualCopy : this.getCmsContent(this.cmsWidgetName, 'BodyText');
}, },
splitAlertCopyForParagraphTag(){ splitAlertCopyForParagraphTag(){
return splitCMSCopyOnParagraphTag(this.alertCopy); return splitCMSCopyOnParagraphTag(this.alertCopy);

View file

@ -78,10 +78,6 @@ export default {
validationRules: String, validationRules: String,
selectedValues: [Array, String], selectedValues: [Array, String],
hasError: Boolean, hasError: Boolean,
clearOnUnmount: {
type: Boolean,
default: true
}
}, },
data() { data() {
return { return {
@ -96,11 +92,9 @@ export default {
: this.selectedValues[0]; : this.selectedValues[0];
} }
}, },
unmounted() { // needed to clear this button's selectedValues if it is removed to keep validation in sync unmounted() { // needed to clear this button's selectedValues if it is removed
if (this.clearOnUnmount) { this.checkValue = false;
this.checkValue = false; this.handleCheckChange();
this.handleCheckChange();
}
}, },
methods: { methods: {
displayLoader() { displayLoader() {

View file

@ -77,10 +77,6 @@ export default {
validationRules: String, validationRules: String,
selectedValues: [Array, String], selectedValues: [Array, String],
hasError: Boolean, hasError: Boolean,
clearOnUnmount: {
type: Boolean,
default: true
}
}, },
data() { data() {
return { return {
@ -95,11 +91,9 @@ export default {
: this.selectedValues[0]; : this.selectedValues[0];
} }
}, },
unmounted() { // needed to clear this button's selectedValues if it is removed to keep validation in sync unmounted() { // needed to clear this button's selectedValues if it is removed
if (this.clearOnUnmount) { this.checkValue = false;
this.checkValue = false; this.handleCheckChange();
this.handleCheckChange();
}
}, },
methods: { methods: {
displayLoader() { displayLoader() {

View file

@ -89,10 +89,6 @@ export default {
selectedValues: [Array, String], selectedValues: [Array, String],
modelValue: Object, modelValue: Object,
hasError: Boolean, hasError: Boolean,
clearOnUnmount: {
type: Boolean,
default: true
}
}, },
data() { data() {
return { return {
@ -114,11 +110,9 @@ export default {
this.checkValue = this.selectedValues == this.value || this.modelValue == this.value; this.checkValue = this.selectedValues == this.value || this.modelValue == this.value;
} }
}, },
unmounted() { // needed to clear this button's selectedValues if it is removed to keep validation in sync unmounted() { // needed to clear this button's selectedValues if it is removed
if (this.clearOnUnmount) { this.checkValue = false;
this.checkValue = false; this.handleCheckChange();
this.handleCheckChange();
}
}, },
computed: { computed: {
getLabelClasses() { getLabelClasses() {