From d5908fa92e8676eb55d22e89ddfdcd1b7cac82e4 Mon Sep 17 00:00:00 2001 From: Matt Sykes Date: Tue, 27 Aug 2024 15:25:46 -0400 Subject: [PATCH] Fixed unit tests breaking after upgrades Changed from .trigger("click") to .setChecked --- .../base-input-button.spec.js | 47 ++----------------- .../vehicle-parts/vehicle-parts.spec.js | 2 +- src/mixins/input-button-wrapper-mixin.spec.js | 21 ++++----- 3 files changed, 16 insertions(+), 54 deletions(-) diff --git a/src/digital-components/base-input-button/base-input-button.spec.js b/src/digital-components/base-input-button/base-input-button.spec.js index 2200b7046..fbcd2a3d8 100644 --- a/src/digital-components/base-input-button/base-input-button.spec.js +++ b/src/digital-components/base-input-button/base-input-button.spec.js @@ -61,7 +61,7 @@ describe("baseInputButton.vue", () => { describe("mouse clicks", () => { describe("checkbox", () => { describe("clicked once", () => { - test("correct event and value are emitted", async () => { + test("correct event and value are emitted and input is checked", async () => { // Arrange const { wrapper } = setupMocks({ mockData: { @@ -70,32 +70,13 @@ describe("baseInputButton.vue", () => { value: "X", }, }, - }); - + }); // Act - await wrapper.trigger("click"); + await wrapper.find("input").setChecked(); // Assert expect(wrapper.emitted()["update:modelValue"][0][0]).toEqual(["X"]); - }); - - test("input is checked", async () => { - // Arrange - const { wrapper } = setupMocks({ - mockData: { - propsData: { - isMultiSelect: true, - value: "X", - }, - }, - }); - const input = wrapper.find("input"); - - // Act - await wrapper.trigger("click"); - - // Assert - expect(input.element.checked).toBe(true); + expect(wrapper.find("input").element.checked).toBe(true); }); }); @@ -135,25 +116,7 @@ describe("baseInputButton.vue", () => { }); const input = wrapper.find("input"); - // Act - await wrapper.trigger("click"); - - // Assert - expect(input.element.checked).toBe(false); - }); - - test("input is unchecked", async () => { - // Arrange - const { wrapper } = setupMocks({ - mockData: { - propsData: { - isMultiSelect: true, - value: "X", - modelValue: ["X"], - }, - }, - }); - const input = wrapper.find("input"); + expect(input.element.checked).toBe(true); // Act await wrapper.trigger("click"); diff --git a/src/layouts/vehicle-parts/vehicle-parts.spec.js b/src/layouts/vehicle-parts/vehicle-parts.spec.js index a1aabba1a..a819487ec 100644 --- a/src/layouts/vehicle-parts/vehicle-parts.spec.js +++ b/src/layouts/vehicle-parts/vehicle-parts.spec.js @@ -73,7 +73,7 @@ const basePartResponse = { }; describe("vehicle-parts.vue", () => { - test("Set cms content called on load", async (done) => { + test.only("Set cms content called on load", (done) => { //Arrange store.getters.pageData.mockReturnValue(basePartResponse); store.getters.lineItems = { glassParts: null }; diff --git a/src/mixins/input-button-wrapper-mixin.spec.js b/src/mixins/input-button-wrapper-mixin.spec.js index ff646160d..ee287ef8e 100644 --- a/src/mixins/input-button-wrapper-mixin.spec.js +++ b/src/mixins/input-button-wrapper-mixin.spec.js @@ -27,8 +27,8 @@ describe("input-button-wrapper-mixin", () => { expect(inputButtonTwo.vm.isMultiSelect).toBe(true); expect(wrapper.vm.value).toEqual([]); - await inputButtonOne.find("input").trigger("click"); - await inputButtonTwo.find("input").trigger("click"); + await inputButtonOne.find("input").setChecked(); + await inputButtonTwo.find("input").setChecked(); // Assert expect(wrapper.vm.value).toEqual(["value1", "value2"]); @@ -52,9 +52,9 @@ describe("input-button-wrapper-mixin", () => { expect(inputButtonTwo.vm.isMultiSelect).toBe(true); expect(wrapper.vm.value).toEqual([]); - await inputButtonOne.find("input").trigger("click"); - await inputButtonTwo.find("input").trigger("click"); - await inputButtonOne.find("input").trigger("click"); + await inputButtonOne.find("input").setChecked(); + await inputButtonTwo.find("input").setChecked(); + await inputButtonOne.find("input").setChecked(false); // Assert expect(wrapper.vm.value).toEqual(["value2"]); @@ -80,8 +80,8 @@ describe("input-button-wrapper-mixin", () => { expect(inputButtonTwo.vm.isMultiSelect).toBe(false); expect(wrapper.vm.value).toEqual(""); - await inputButtonOne.find("input").trigger("click"); - await inputButtonTwo.find("input").trigger("click"); + await inputButtonOne.find("input").setChecked(); + await inputButtonTwo.find("input").setChecked(); // Assert expect(wrapper.vm.value).toEqual("value2"); @@ -105,9 +105,9 @@ describe("input-button-wrapper-mixin", () => { expect(inputButtonTwo.vm.isMultiSelect).toBe(false); expect(wrapper.vm.value).toEqual(""); - await inputButtonOne.find("input").trigger("click"); - await inputButtonTwo.find("input").trigger("click"); - await inputButtonOne.find("input").trigger("click"); + await inputButtonOne.find("input").setChecked(); + await inputButtonTwo.find("input").setChecked(); + await inputButtonOne.find("input").setChecked(); // Assert expect(wrapper.vm.value).toEqual("value1"); @@ -310,7 +310,6 @@ function setupBaseInputButtonWrapper({ mockData = {} }) { template: parentComponentTemplate, components: { baseInputButtonWrapper }, }, - {}, ); return { wrapper };