diff --git a/src/digital-components/dropdown-question/dropdown-question.vue b/src/digital-components/dropdown-question/dropdown-question.vue
index 7c0dd0d3b..6c032b740 100644
--- a/src/digital-components/dropdown-question/dropdown-question.vue
+++ b/src/digital-components/dropdown-question/dropdown-question.vue
@@ -16,9 +16,13 @@
:disabled="isDisabled"
:aria-required="isRequired"
:validationRules="validationRules"
- :placeHolderText="placeHolderText">
+ :placeHolderText="placeHolderText"
+ :valueAsKey="valueAsKey">
-
@@ -47,6 +51,11 @@ export default {
placeHolderText: String,
cmsWidgetName: String,
hasError: Boolean,
+ valueAsKey: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
},
setup(props) {
const uuid = uuidv4();
diff --git a/src/digital-components/dropdown-vehicle/dropdown-vehicle.spec.js b/src/digital-components/dropdown-vehicle/dropdown-vehicle.spec.js
deleted file mode 100644
index 17045e490..000000000
--- a/src/digital-components/dropdown-vehicle/dropdown-vehicle.spec.js
+++ /dev/null
@@ -1,117 +0,0 @@
-import { shallowMount } from "@vue/test-utils";
-import dropdownVehicle from "./dropdown-vehicle";
-
-// Mock CMS content
-const questionText = "Question Text";
-const mockMixin = {
- methods: {
- getCmsContent: jest.fn().mockImplementation(() => {
- return questionText;
- }),
- },
-};
-
-// TODO: Remove the following from dropdown-question.vue -> :class="(errors && errors.length) || hasError ? 'has-error' : ''"
-// It is not being used.
-describe("dropdownVehicle.vue", () => {
- it("Should render a select input", async () => {
- // Arrange
- const wrapper = shallowMount(dropdownVehicle, {
- propsData: {
- options: {},
- },
- mixins: [mockMixin],
- });
-
- // Act
- const select = wrapper.find("select");
-
- // Assert
- expect(select.exists()).toBe(true);
- });
-
- it("Should render the 'questionText' data value as the label text.", async () => {
- // Arrange
- const wrapper = shallowMount(dropdownVehicle, {
- propsData: {
- options: {},
- },
- mixins: [mockMixin],
- });
-
- // Act
- const label = wrapper.find("label");
-
- // Assert
- expect(label.text()).toContain(questionText);
- });
-
- it("Should render the 'questionText' data value as the aria-label attribute.", async () => {
- // Arrange
- const wrapper = shallowMount(dropdownVehicle, {
- propsData: {
- options: {},
- },
- mixins: [mockMixin],
- });
-
- // Act
- const label = wrapper.find("label");
-
- // Assert
- expect(label.attributes("aria-label")).toContain(questionText);
- });
-
- it("Should return aria-disabled state as disabled", async () => {
- // Arrange
- const wrapper = shallowMount(dropdownVehicle, {
- propsData: {
- options: {},
- isDisabled: true,
- },
- mixins: [mockMixin],
- });
-
- // Act
- const select = wrapper.find("select");
-
- // Assert
- expect(select.attributes("aria-disabled")).toEqual("true");
- });
-
- it("Should emit new value when modelValue is changed", async () => {
- // Arrange
- const wrapper = shallowMount(dropdownVehicle, {
- propsData: {
- options: {},
- modelValue: "val",
- },
- mixins: [mockMixin],
- });
-
- // Act
- await wrapper.find("select").setValue("val2");
-
- // Assert
- expect(wrapper.emitted()).toHaveProperty("change");
- });
-
- it("Should call this.handleChange with new value when selectedOption is changed", async () => {
- // Arrange
- const wrapper = shallowMount(dropdownVehicle, {
- propsData: {
- options: {},
- modelValue: "0",
- },
- mixins: [mockMixin],
- });
-
- wrapper.vm.handleChange = jest.fn().mockImplementation(() => {});
-
- // Act
- wrapper.vm.$options.watch.selectedOption.call(wrapper.vm, 1);
-
- // Assert
- expect(wrapper.vm.handleChange).toHaveBeenCalled;
- });
-});
diff --git a/src/digital-components/dropdown-vehicle/dropdown-vehicle.vue b/src/digital-components/dropdown-vehicle/dropdown-vehicle.vue
deleted file mode 100644
index 1d4d6f0b4..000000000
--- a/src/digital-components/dropdown-vehicle/dropdown-vehicle.vue
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
- {{ errorMessage }}
-
-
-
-
-
-
-
diff --git a/src/layouts/vehicle/vehicle-question/vehicle-question.vue b/src/layouts/vehicle/vehicle-question/vehicle-question.vue
index f2863564d..79b58bfaa 100644
--- a/src/layouts/vehicle/vehicle-question/vehicle-question.vue
+++ b/src/layouts/vehicle/vehicle-question/vehicle-question.vue
@@ -1,9 +1,9 @@
-
+