diff --git a/src/common-components/base-input-button/base-input-button.spec.js b/src/common-components/base-input-button/base-input-button.spec.js index ed76b319d..1573380ce 100644 --- a/src/common-components/base-input-button/base-input-button.spec.js +++ b/src/common-components/base-input-button/base-input-button.spec.js @@ -471,6 +471,26 @@ describe.skip("baseInputButton.vue", () => { }); }); }); + + describe("integration testing", () => { + describe("checkbox", () => { + test.only("click on both => both are selected", async () => { + // Arrange + const { wrapper } = setupBaseInputButtonWrapper({ + isMultiSelect: true + }) + // console.log(wrapper.html()) + + // Act + const buttonWrappers = wrapper.findAllComponents({name: "baseInputButtonWrapper"}) + console.log(buttonWrappers[0].find("input")) + await buttonWrappers[0].find("input").trigger("mousedown.left") + + // Assert + expect(wrapper.vm.value).toEqual(["value1"]) + }) + }) + }); }); function setupMocks({ mockData = {}, shouldShallowMount = true }) { @@ -510,6 +530,19 @@ function setupMocks({ mockData = {}, shouldShallowMount = true }) { } function setupBaseInputButtonWrapper({ mockData = {} }) { + const originalData = baseInputButton.data(); + baseInputButton.data = () => { + return { + ...originalData, + $route: { + query: { + fmgPage: "myPage" + } + } + } + } + baseInputButton.methods.pushClickEventToGA = jest.fn(); + const baseInputButtonWrapper = { components: { baseInputButton }, template: diff --git a/src/common-components/base-input-button/base-input-button.vue b/src/common-components/base-input-button/base-input-button.vue index 5f6fbea90..ab491a069 100644 --- a/src/common-components/base-input-button/base-input-button.vue +++ b/src/common-components/base-input-button/base-input-button.vue @@ -48,6 +48,7 @@ export default { }, methods: { handleEventAction(eventType, e) { + console.log("AHHHHHH") if (this.isMultiSelect) { switch (eventType) { case this.eventTypes.ENTER: diff --git a/src/mixins/input-button-wrapper-mixin.js b/src/mixins/input-button-wrapper-mixin.js index 866e5d1d6..1d7a0afda 100644 --- a/src/mixins/input-button-wrapper-mixin.js +++ b/src/mixins/input-button-wrapper-mixin.js @@ -1,6 +1,10 @@ import { inputButtonProps } from "@/common-components/base-input-button/button-functionality-props"; export default { + model: { + prop: "modelValue", + event: "change", + }, props: { ...inputButtonProps, buttonLabel: [Number, String], @@ -14,6 +18,7 @@ export default { screenReaderOnlyText: String, isWide: Boolean, }, +<<<<<<< Updated upstream computed: { selectedValue: { get() { @@ -23,9 +28,17 @@ export default { if (this.preHandleAnswerChange) { this.preHandleAnswerChange(e); } +======= + methods: { + handleAnswerChange(e) { + console.log("HANDLING IT") + if (this.preHandleAnswerChange) { + this.preHandleAnswerChange(e); + } +>>>>>>> Stashed changes this.$emit("update:modelValue", e); }, }, }, -}; +}; \ No newline at end of file