Fix merge conflicts
This commit is contained in:
commit
bf35cfa866
14 changed files with 51 additions and 60 deletions
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,10 @@ export default {
|
||||||
},
|
},
|
||||||
dynamicStrings(){
|
dynamicStrings(){
|
||||||
return dynamicStrings;
|
return dynamicStrings;
|
||||||
}
|
},
|
||||||
|
cssClassNameForCmsWidget(){
|
||||||
|
return "widget-name-" + this.cmsWidgetName;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue