From ba04a08c07ff4fae84594cb639d850a1d703e1c4 Mon Sep 17 00:00:00 2001 From: Sneha Date: Wed, 2 Aug 2023 17:25:24 +0530 Subject: [PATCH] adding prop --- .../dropdown-question/dropdown-question.vue | 13 +- .../dropdown-vehicle/dropdown-vehicle.spec.js | 117 -------------- .../dropdown-vehicle/dropdown-vehicle.vue | 147 ------------------ .../vehicle-question/vehicle-question.vue | 6 +- 4 files changed, 14 insertions(+), 269 deletions(-) delete mode 100644 src/digital-components/dropdown-vehicle/dropdown-vehicle.spec.js delete mode 100644 src/digital-components/dropdown-vehicle/dropdown-vehicle.vue 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 @@ - - - - - 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 @@