diff --git a/client/src/components/Collections/PairedListCollectionCreator.test.js b/client/src/components/Collections/PairedListCollectionCreator.test.js index ce54a281bd0..393dd33884f 100644 --- a/client/src/components/Collections/PairedListCollectionCreator.test.js +++ b/client/src/components/Collections/PairedListCollectionCreator.test.js @@ -45,12 +45,11 @@ describe("PairedListCollectionCreator", () => { }); await wrapper.vm.$nextTick(); //change filter to .1.fastq/.2.fastq - wrapper.find("div.forward-unpaired-filter > div.input-group-append > button").trigger("click"); - wrapper + await wrapper.find("div.forward-unpaired-filter > div.input-group-append > button").trigger("click"); + await wrapper .findAll("div.dropdown-menu > a.dropdown-item") .wrappers.find((e) => e.text() == ".1.fastq") .trigger("click"); - await wrapper.vm.$nextTick(); //assert forward filter const forwardFilter = wrapper.find("div.forward-unpaired-filter > input").element.value; expect(forwardFilter).toBe(".1.fastq"); @@ -58,8 +57,7 @@ describe("PairedListCollectionCreator", () => { const reverseFilter = wrapper.find("div.reverse-unpaired-filter > input").element.value; expect(reverseFilter).toBe(".2.fastq"); // click Autopair - wrapper.find("a.autopair-link").trigger("click"); - await wrapper.vm.$nextTick(); + await wrapper.find("a.autopair-link").trigger("click"); //assert pair-name longer name const pairname = wrapper.find("span.pair-name"); expect(pairname.text()).toBe("DP134_1_FS_PSII_FSB_42C_A10"); @@ -83,12 +81,11 @@ describe("PairedListCollectionCreator", () => { }); await wrapper.vm.$nextTick(); //change filter to .1.fastq/.2.fastq - wrapper.find("div.forward-unpaired-filter > div.input-group-append > button").trigger("click"); - wrapper + await wrapper.find("div.forward-unpaired-filter > div.input-group-append > button").trigger("click"); + await wrapper .findAll("div.dropdown-menu > a.dropdown-item") .wrappers.find((e) => e.text() == ".1.fastq") .trigger("click"); - await wrapper.vm.$nextTick(); //assert forward filter const forwardFilter = wrapper.find("div.forward-unpaired-filter > input").element.value; expect(forwardFilter).toBe(".1.fastq"); @@ -96,8 +93,7 @@ describe("PairedListCollectionCreator", () => { const reverseFilter = wrapper.find("div.reverse-unpaired-filter > input").element.value; expect(reverseFilter).toBe(".2.fastq"); // click Autopair - wrapper.find("a.autopair-link").trigger("click"); - await wrapper.vm.$nextTick(); + await wrapper.find("a.autopair-link").trigger("click"); //assert pair-name longer name const pairname = wrapper.find("span.pair-name"); expect(pairname.text()).toBe("UII_moo_1"); @@ -121,10 +117,8 @@ describe("PairedListCollectionCreator", () => { }); await wrapper.vm.$nextTick(); //change filter to _R1/_R2 - wrapper.find("div.forward-unpaired-filter > input").setValue("_R1"); - await wrapper.vm.$nextTick(); - wrapper.find("div.reverse-unpaired-filter > input").setValue("_R2"); - await wrapper.vm.$nextTick(); + await wrapper.find("div.forward-unpaired-filter > input").setValue("_R1"); + await wrapper.find("div.reverse-unpaired-filter > input").setValue("_R2"); //assert forward filter const forwardFilter = wrapper.find("div.forward-unpaired-filter > input").element.value; expect(forwardFilter).toBe("_R1"); @@ -132,8 +126,7 @@ describe("PairedListCollectionCreator", () => { const reverseFilter = wrapper.find("div.reverse-unpaired-filter > input").element.value; expect(reverseFilter).toBe("_R2"); // click Autopair - wrapper.find("a.autopair-link").trigger("click"); - await wrapper.vm.$nextTick(); + await wrapper.find("a.autopair-link").trigger("click"); //assert all pairs matched expect(wrapper.findAll("li.dataset unpaired").length == 0).toBeTruthy(); }); diff --git a/client/src/components/DatasetInformation/DatasetAttributes.test.js b/client/src/components/DatasetInformation/DatasetAttributes.test.js index 58d99ddfbca..049facec4e2 100644 --- a/client/src/components/DatasetInformation/DatasetAttributes.test.js +++ b/client/src/components/DatasetInformation/DatasetAttributes.test.js @@ -1,4 +1,3 @@ -import Vue from "vue"; import axios from "axios"; import { mount } from "@vue/test-utils"; import { getLocalVue } from "jest/helpers"; @@ -9,8 +8,8 @@ import flushPromises from "flush-promises"; const localVue = getLocalVue(); -function buildWrapper(conversion_disable = false) { - return mount(DatasetAttributes, { +async function buildWrapper(conversion_disable = false) { + const wrapper = mount(DatasetAttributes, { propsData: { datasetId: "dataset_id", }, @@ -29,14 +28,15 @@ function buildWrapper(conversion_disable = false) { FormElement: false, }, }); + await flushPromises(); + return wrapper; } describe("DatasetAttributes", () => { it("check rendering", async () => { const axiosMock = new MockAdapter(axios); axiosMock.onPut(`/dataset/set_edit`).reply(200, { message: "success", status: "success" }); - const wrapper = buildWrapper(); - await Vue.nextTick(); + const wrapper = await buildWrapper(); expect(wrapper.findAll("button").length).toBe(6); expect(wrapper.findAll("#attribute_text").length).toBe(1); expect(wrapper.findAll("#conversion_text").length).toBe(1); @@ -50,8 +50,7 @@ describe("DatasetAttributes", () => { }); it("check rendering without conversion option", async () => { - const wrapper = buildWrapper(true); - await Vue.nextTick(); + const wrapper = await buildWrapper(true); expect(wrapper.findAll("button").length).toBe(5); expect(wrapper.findAll("#attribute_text").length).toBe(1); expect(wrapper.findAll("#conversion_text").length).toBe(0); diff --git a/client/src/components/Form/Elements/FormBoolean.test.js b/client/src/components/Form/Elements/FormBoolean.test.js index 90149c2442c..5e7855ee44f 100644 --- a/client/src/components/Form/Elements/FormBoolean.test.js +++ b/client/src/components/Form/Elements/FormBoolean.test.js @@ -1,7 +1,6 @@ import { mount } from "@vue/test-utils"; import { getLocalVue } from "jest/helpers"; import FormBoolean from "./FormBoolean"; -import Vue from "vue"; const localVue = getLocalVue(); @@ -20,12 +19,11 @@ describe("FormBoolean", () => { it("check initial value and value change", async () => { const input = wrapper.find("input"); expect(wrapper.vm.currentValue).toBe(false); - wrapper.setProps({ value: true }); - await Vue.nextTick(); + await wrapper.setProps({ value: true }); expect(wrapper.vm.currentValue).toBe(true); - input.trigger("click"); + await input.trigger("click"); expect(input.element.checked).toBe(false); - input.trigger("click"); + await input.trigger("click"); expect(input.element.checked).toBe(true); expect(wrapper.emitted().input[0][0]).toBe(true); }); diff --git a/client/src/components/Form/Elements/FormNumber.test.js b/client/src/components/Form/Elements/FormNumber.test.js index c4dafc03082..2805a76ecac 100644 --- a/client/src/components/Form/Elements/FormNumber.test.js +++ b/client/src/components/Form/Elements/FormNumber.test.js @@ -52,9 +52,8 @@ describe("FormInput", () => { const props = { value: 50, type: "float", min: 10, max: 100 }; const wrapper = await mountFormNumber(props); const input = await getInput(wrapper); - input.setValue(number); - input.trigger("change"); - await flushPromises(); + await input.setValue(number); + await input.trigger("change"); const alert = await getAlert(wrapper); expect(alert.exists()).toBeTruthy(); expect(alert.text().includes(`${number} is out`)).toBeTruthy(); diff --git a/client/src/components/Form/FormElement.test.js b/client/src/components/Form/FormElement.test.js index 90679aa5ae3..a8589f74ddd 100644 --- a/client/src/components/Form/FormElement.test.js +++ b/client/src/components/Form/FormElement.test.js @@ -1,6 +1,5 @@ import { mount } from "@vue/test-utils"; import { getLocalVue } from "jest/helpers"; -import Vue from "vue"; import FormElement from "./FormElement"; const localVue = getLocalVue(); @@ -46,19 +45,17 @@ describe("FormElement", () => { expect(wrapper.find(".ui-form-title-text").text()).toEqual("title_text"); expect(wrapper.findAll("span[title='Disable']").length).toEqual(1); expect(wrapper.emitted().input[0][0]).toEqual("initial_value"); - wrapper.find(".ui-form-collapsible-icon").trigger("click"); + await wrapper.find(".ui-form-collapsible-icon").trigger("click"); expect(wrapper.emitted().input[1][0]).toEqual("collapsible_value"); expect(wrapper.emitted().input[1][1]).toEqual("input"); - await Vue.nextTick(); await wrapper.setProps({ collapsedEnableText: "Enable Collapsible", collapsedDisableText: "Disable Collapsible", }); expect(wrapper.findAll("span[title='Enable Collapsible']").length).toEqual(1); expect(wrapper.findAll("span[title='Disable Collapsible']").length).toEqual(0); - wrapper.find(".ui-form-collapsible-icon").trigger("click"); + await wrapper.find(".ui-form-collapsible-icon").trigger("click"); expect(wrapper.emitted().input[2][0]).toEqual("default_value"); - await Vue.nextTick(); expect(wrapper.findAll("span[title='Disable Collapsible']").length).toEqual(1); expect(wrapper.findAll("span[title='Enable Collapsible']").length).toEqual(0); }); diff --git a/client/src/components/History/ContentItem/GenericContentItem/DatasetCollectionUIWrapper.test.js b/client/src/components/History/ContentItem/GenericContentItem/DatasetCollectionUIWrapper.test.js index d61f9c4988e..450fd39fe90 100644 --- a/client/src/components/History/ContentItem/GenericContentItem/DatasetCollectionUIWrapper.test.js +++ b/client/src/components/History/ContentItem/GenericContentItem/DatasetCollectionUIWrapper.test.js @@ -1,7 +1,6 @@ import DatasetCollectionUIWrapper from "./DatasetCollectionUIWrapper"; import DscUI from "components/History/ContentItem/DatasetCollection/DscUI"; import { shallowMount } from "@vue/test-utils"; -import flushPromises from "flush-promises"; import datasetCollectionRaw from "components/providers/test/json/DatasetCollection.json"; import datasetCollectionContent from "components/providers/test/json/DatasetCollection.nested.json"; @@ -54,8 +53,7 @@ describe("DatasetUIWrapper.vue with Dataset", () => { expect(wrapper.vm.expand).toBeTruthy(); }); it("build dsc from collection content", async () => { - wrapper.setProps({ item: datasetCollectionContent }); - await flushPromises(); + await wrapper.setProps({ item: datasetCollectionContent }); expect(wrapper.vm.datasetCollection.name).toBe(datasetCollectionContent.element_identifier); }); }); diff --git a/client/src/components/Masthead/Masthead.test.js b/client/src/components/Masthead/Masthead.test.js index b395516e313..d01bd835a0e 100644 --- a/client/src/components/Masthead/Masthead.test.js +++ b/client/src/components/Masthead/Masthead.test.js @@ -93,11 +93,9 @@ describe("Masthead.vue", () => { it("should disable brand when displayGalaxyBrand is true", async () => { expect(wrapper.find(".navbar-brand-title").text()).toBe("Galaxy"); - wrapper.setProps({ brand: "Foo " }); - await localVue.nextTick(); + await wrapper.setProps({ brand: "Foo " }); expect(wrapper.find(".navbar-brand-title").text()).toBe("Galaxy Foo"); - wrapper.setProps({ displayGalaxyBrand: false }); - await localVue.nextTick(); + await wrapper.setProps({ displayGalaxyBrand: false }); expect(wrapper.find(".navbar-brand-title").text()).toBe("Foo"); }); @@ -137,8 +135,7 @@ describe("Masthead.vue", () => { it("should display scratchbook button", async () => { expect(wrapper.find("#enable-scratchbook a span").classes("fa-th")).toBe(true); expect(scratchbook.active).toBe(false); - wrapper.find("#enable-scratchbook a").trigger("click"); - await localVue.nextTick(); + await wrapper.find("#enable-scratchbook a").trigger("click"); expect(scratchbook.active).toBe(true); }); diff --git a/client/src/components/Panels/Common/ToolSection.test.js b/client/src/components/Panels/Common/ToolSection.test.js index bd46e5ca66f..5eea0a72fab 100644 --- a/client/src/components/Panels/Common/ToolSection.test.js +++ b/client/src/components/Panels/Common/ToolSection.test.js @@ -40,14 +40,12 @@ describe("ToolSection", () => { expect(wrapper.vm.opened).toBe(false); const $sectionName = wrapper.find(".name"); expect($sectionName.text()).toBe("tool_section"); - $sectionName.trigger("click"); - await wrapper.vm.$nextTick(); + await $sectionName.trigger("click"); const $names = wrapper.findAll(".name"); expect($names.at(1).text()).toBe("name"); const $label = wrapper.find(".title-link"); expect($label.text()).toBe("tool_section"); - $sectionName.trigger("click"); - await wrapper.vm.$nextTick(); + await $sectionName.trigger("click"); expect(wrapper.findAll(".name").length).toBe(1); }); @@ -71,26 +69,19 @@ describe("ToolSection", () => { }); expect(wrapper.vm.opened).toBe(true); const $sectionName = wrapper.find(".name"); - $sectionName.trigger("click"); - await wrapper.vm.$nextTick(); + await $sectionName.trigger("click"); expect(wrapper.vm.opened).toBe(false); - wrapper.setProps({ queryFilter: "" }); - await wrapper.vm.$nextTick(); + await wrapper.setProps({ queryFilter: "" }); expect(wrapper.vm.opened).toBe(false); - wrapper.setProps({ queryFilter: "test" }); - await wrapper.vm.$nextTick(); + await wrapper.setProps({ queryFilter: "test" }); expect(wrapper.vm.opened).toBe(true); - wrapper.setProps({ disableFilter: true }); - await wrapper.vm.$nextTick(); + await wrapper.setProps({ disableFilter: true }); expect(wrapper.vm.opened).toBe(true); - wrapper.setProps({ queryFilter: "" }); - await wrapper.vm.$nextTick(); + await wrapper.setProps({ queryFilter: "" }); expect(wrapper.vm.opened).toBe(false); - $sectionName.trigger("click"); - await wrapper.vm.$nextTick(); + await $sectionName.trigger("click"); expect(wrapper.vm.opened).toBe(true); - wrapper.setProps({ queryFilter: "test" }); - await wrapper.vm.$nextTick(); + await wrapper.setProps({ queryFilter: "test" }); expect(wrapper.vm.opened).toBe(false); }); }); diff --git a/client/src/components/RuleBuilder/SavedRulesSelector.test.js b/client/src/components/RuleBuilder/SavedRulesSelector.test.js index 98b5bf425be..858a4740035 100644 --- a/client/src/components/RuleBuilder/SavedRulesSelector.test.js +++ b/client/src/components/RuleBuilder/SavedRulesSelector.test.js @@ -46,11 +46,10 @@ describe("SavedRulesSelector", () => { }, ], }; - wrapper.setProps({ + await wrapper.setProps({ user: "test_user", savedRules: [testRules], }); - await wrapper.vm.$nextTick(); const sessions = wrapper.findAll("div.dropdown-menu > a.saved-rule-item"); expect(sessions.length > 0).toBeTruthy(); sessions.wrappers[0].trigger("click"); diff --git a/client/src/components/SelectionDialog/SelectionDialog.test.js b/client/src/components/SelectionDialog/SelectionDialog.test.js index 8e4bb928f86..c0c89d14ddf 100644 --- a/client/src/components/SelectionDialog/SelectionDialog.test.js +++ b/client/src/components/SelectionDialog/SelectionDialog.test.js @@ -36,8 +36,7 @@ describe("SelectionDialog.vue", () => { expect(wrapper.get(".fa-spinner")); expect(wrapper.get(".fa-spinner").text()).toBe(""); //expect(wrapper.get("#tree-options")).toThrow(); - wrapper.setProps({ optionsShow: true }); - await localVue.nextTick(); + await wrapper.setProps({ optionsShow: true }); expect(() => wrapper.get(".fa-spinner")).toThrow(); expect(wrapper.get("#tree-options")); }); @@ -50,10 +49,8 @@ describe("SelectionDialog.vue", () => { it("hideModal called on click cancel", async () => { expect(calledHide).toBe(false); expect(wrapper.get(".selection-dialog-modal-cancel")); - wrapper.setProps({ optionsShow: true }); - await localVue.nextTick(); - wrapper.find(".selection-dialog-modal-cancel").trigger("click"); - await localVue.nextTick(); + await wrapper.setProps({ optionsShow: true }); + await wrapper.find(".selection-dialog-modal-cancel").trigger("click"); expect(calledHide).toBe(true); }); }); diff --git a/client/src/components/Tags/StatelessTags.test.js b/client/src/components/Tags/StatelessTags.test.js index b65e510ff42..31f8f8e2335 100644 --- a/client/src/components/Tags/StatelessTags.test.js +++ b/client/src/components/Tags/StatelessTags.test.js @@ -1,7 +1,6 @@ import { mount, createLocalVue } from "@vue/test-utils"; import StatelessTags from "./StatelessTags"; import _l from "utils/localization"; -import flushPromises from "flush-promises"; describe("Tags/StatelessTags.vue", () => { const localVue = createLocalVue(); @@ -13,11 +12,10 @@ describe("Tags/StatelessTags.vue", () => { beforeEach(async () => { wrapper = mount(StatelessTags, { localVue }); - wrapper.setProps({ + await wrapper.setProps({ value: testTags, }); emitted = wrapper.emitted(); - await wrapper.vm.$nextTick(); }); it("should render a div for each tag", () => { @@ -47,8 +45,7 @@ describe("Tags/StatelessTags.vue", () => { it("should change internal model representation when new tag list assigned", async () => { expect(wrapper.vm.tagModels.length).toBe(3); const newTags = ["floob", "clown", "hoohah", "doodoo"]; - wrapper.setProps({ value: newTags }); - await flushPromises(); + await wrapper.setProps({ value: newTags }); expect(wrapper.vm.tagModels.length).toBe(newTags.length); }); }); diff --git a/client/src/components/Tags/Tags.test.js b/client/src/components/Tags/Tags.test.js index 468b62c431e..86e2986a81e 100644 --- a/client/src/components/Tags/Tags.test.js +++ b/client/src/components/Tags/Tags.test.js @@ -85,14 +85,7 @@ describe("Tags/Tags.vue", () => { const newTags = ["asdfadsadf", "gfhjfghjf"]; testStore.dispatch("updateTags", { key: storeKey, tags: newTags }); - // TODO: figure out how to make the computed observableTags - // prop update when the store does. This works in the real code, - // but does not update in this test environment. The following - // brute force mechanism of changing a different dependency works - // and effectively recalculates the computed value, but it should - // not be necessary - wrapper.setProps({ storeKey: "thisshouldbeunnecessary" }); - wrapper.setProps({ storeKey }); + await wrapper.setProps({ storeKey }); const observed = wrapper.vm.observedTags; expect(observed.length).toBe(newTags.length); diff --git a/client/src/components/Tool/ToolFooter.test.js b/client/src/components/Tool/ToolFooter.test.js index 971cd5f421c..a6924db2505 100644 --- a/client/src/components/Tool/ToolFooter.test.js +++ b/client/src/components/Tool/ToolFooter.test.js @@ -48,7 +48,7 @@ describe("ToolFooter", () => { const referenceA = wrapper.find(".formatted-reference .csl-entry"); expect(referenceA.attributes()["data-csl-entry-id"]).toBe("entry_a"); expect(referenceA.text()).toContain("1111"); - wrapper.setProps({ id: "tool_b" }); + await wrapper.setProps({ id: "tool_b" }); await flushPromises(); const referenceB = wrapper.find(".formatted-reference .csl-entry"); expect(referenceB.attributes()["data-csl-entry-id"]).toBe("entry_b"); diff --git a/client/src/components/Toolshed/RepositoryDetails/RepositoryTools.test.js b/client/src/components/Toolshed/RepositoryDetails/RepositoryTools.test.js index ab11cdc67c7..1d961103ced 100644 --- a/client/src/components/Toolshed/RepositoryDetails/RepositoryTools.test.js +++ b/client/src/components/Toolshed/RepositoryDetails/RepositoryTools.test.js @@ -59,8 +59,7 @@ describe("RepositoryTools", () => { expect($third.find("td:first-child").text()).toBe("Show more"); expect($third.find("td:last-child").text()).toBe(""); const $link = wrapper.find("a"); - $link.trigger("click"); - await wrapper.vm.$nextTick(); + await $link.trigger("click"); const $elExpanded = wrapper.findAll("tr"); expect($elExpanded.length).toBe(4); @@ -71,8 +70,7 @@ describe("RepositoryTools", () => { expect($forthExpanded.find("td:first-child").text()).toBe("Show less"); expect($forthExpanded.find("td:last-child").text()).toBe(""); const $linkExpanded = wrapper.find("a"); - $linkExpanded.trigger("click"); - await wrapper.vm.$nextTick(); + await $linkExpanded.trigger("click"); const $elCollapsed = wrapper.findAll("tr"); expect($elCollapsed.length).toBe(3); diff --git a/client/src/components/Upload/Collection.test.js b/client/src/components/Upload/Collection.test.js index 08e8125f7ad..521a2d332ae 100644 --- a/client/src/components/Upload/Collection.test.js +++ b/client/src/components/Upload/Collection.test.js @@ -31,16 +31,14 @@ describe("Collection.vue", () => { const { wrapper, localVue } = mountWithApp(Collection); expect(wrapper.vm.showHelper).toBe(true); await localVue.nextTick(); - wrapper.find("#btn-new").trigger("click"); - await localVue.nextTick(); + await wrapper.find("#btn-new").trigger("click"); expect(wrapper.vm.showHelper).toBe(false); expect(wrapper.vm.counterAnnounce).toBe(1); expect(wrapper.find("#btn-reset").classes()).toEqual(expect.not.arrayContaining(["disabled"])); expect(wrapper.find("#btn-start").classes()).toEqual(expect.not.arrayContaining(["disabled"])); - wrapper.find("#btn-reset").trigger("click"); - await localVue.nextTick(); + await wrapper.find("#btn-reset").trigger("click"); expect(wrapper.vm.showHelper).toBe(true); }); @@ -48,13 +46,10 @@ describe("Collection.vue", () => { const { wrapper, localVue } = mountWithApp(Collection, {}, { lazyLoadMax: 2 }); expect(wrapper.findAll(".ui-limitloader").length).toBe(1); await localVue.nextTick(); - wrapper.find("#btn-new").trigger("click"); - await localVue.nextTick(); - wrapper.find("#btn-new").trigger("click"); - await localVue.nextTick(); + await wrapper.find("#btn-new").trigger("click"); + await wrapper.find("#btn-new").trigger("click"); expect(wrapper.findAll("table tbody tr").length).toBe(2); - wrapper.find("#btn-new").trigger("click"); - await localVue.nextTick(); + await wrapper.find("#btn-new").trigger("click"); expect(wrapper.findAll("table tbody tr").length).toBe(2); expect(wrapper.find(".ui-limitloader").text()).toEqual(expect.stringContaining("only the first 2 entries")); }); diff --git a/client/src/components/Upload/Default.test.js b/client/src/components/Upload/Default.test.js index f2be411d7fe..c032b753d21 100644 --- a/client/src/components/Upload/Default.test.js +++ b/client/src/components/Upload/Default.test.js @@ -20,10 +20,9 @@ describe("Default.vue", () => { }); it("does render FTP is site set", async () => { - const { wrapper, localVue } = mountWithApp(Default); + const { wrapper } = mountWithApp(Default); expect(wrapper.find("#btn-ftp").element).toBeVisible(); - wrapper.find("#btn-ftp").trigger("click"); - await localVue.nextTick(); + await wrapper.find("#btn-ftp").trigger("click"); // TODO: test popover appears... not sure best way to do this... }); @@ -40,12 +39,10 @@ describe("Default.vue", () => { const { wrapper, localVue } = mountWithApp(Default); expect(wrapper.vm.showHelper).toBe(true); await localVue.nextTick(); - wrapper.find("#btn-new").trigger("click"); - await localVue.nextTick(); + await wrapper.find("#btn-new").trigger("click"); expect(wrapper.vm.showHelper).toBe(false); expect(wrapper.vm.counterAnnounce).toBe(1); - wrapper.find("#btn-reset").trigger("click"); - await localVue.nextTick(); + await wrapper.find("#btn-reset").trigger("click"); expect(wrapper.vm.showHelper).toBe(true); }); diff --git a/client/src/components/Workflow/Editor/Attributes.test.js b/client/src/components/Workflow/Editor/Attributes.test.js index 5b33e20e351..002e1c95f86 100644 --- a/client/src/components/Workflow/Editor/Attributes.test.js +++ b/client/src/components/Workflow/Editor/Attributes.test.js @@ -32,8 +32,7 @@ describe("Attributes", () => { const name = wrapper.find("#workflow-name"); expect(name.element.value).toBe(TEST_NAME); - wrapper.setProps({ name: "new_workflow_name" }); - await localVue.nextTick(); + await wrapper.setProps({ name: "new_workflow_name" }); expect(name.element.value).toBe("new_workflow_name"); const parameters = wrapper.findAll(".list-group-item"); expect(parameters.length).toBe(2); diff --git a/client/src/components/Workflow/Editor/Node.test.js b/client/src/components/Workflow/Editor/Node.test.js index 60859fb0b09..9b8cc98ec01 100644 --- a/client/src/components/Workflow/Editor/Node.test.js +++ b/client/src/components/Workflow/Editor/Node.test.js @@ -26,8 +26,7 @@ describe("Node", () => { expect(icon.at(2).classes()).toEqual(expect.arrayContaining(["fa-wrench"])); const toolLinks = wrapper.findAll("i"); expect(toolLinks.length).toBe(3); - wrapper.setProps({ type: "subworkflow" }); - await flushPromises(); + await wrapper.setProps({ type: "subworkflow" }); expect(icon.at(2).classes()).toEqual(expect.arrayContaining(["fa-sitemap"])); const subworkflowLinks = wrapper.findAll("i"); expect(subworkflowLinks.length).toBe(2); diff --git a/client/src/components/Workflow/Editor/RefactorConfirmationModal.test.js b/client/src/components/Workflow/Editor/RefactorConfirmationModal.test.js index 68dcf0fe03a..71691f833a5 100644 --- a/client/src/components/Workflow/Editor/RefactorConfirmationModal.test.js +++ b/client/src/components/Workflow/Editor/RefactorConfirmationModal.test.js @@ -24,10 +24,9 @@ describe("RefactorConfirmationModal.vue", () => { }); it("should not attempt a dry run refactor is there are no actions", async () => { - wrapper.setProps({ + await wrapper.setProps({ refactorActions: [], }); - await flushPromises(); expect(refactor.mock.calls.length).toBe(0); }); @@ -37,7 +36,7 @@ describe("RefactorConfirmationModal.vue", () => { error("foo"); }) ); - wrapper.setProps({ + await wrapper.setProps({ refactorActions: [{ action_type: TEST_ACTION_TYPE }], }); await flushPromises(); @@ -57,7 +56,7 @@ describe("RefactorConfirmationModal.vue", () => { }); }) ); - wrapper.setProps({ + await wrapper.setProps({ refactorActions: [{ action_type: TEST_ACTION_TYPE }], }); await flushPromises(); @@ -91,10 +90,9 @@ describe("RefactorConfirmationModal.vue", () => { }); }) ); - wrapper.setProps({ + await wrapper.setProps({ refactorActions: [{ action_type: TEST_ACTION_TYPE }], }); - await flushPromises(); expect(wrapper.emitted().onWorkflowError).toBeFalsy(); // called with dry run... diff --git a/client/src/components/Workflow/Editor/ZoomControl.test.js b/client/src/components/Workflow/Editor/ZoomControl.test.js index 80fad50ab12..d66f89ac335 100644 --- a/client/src/components/Workflow/Editor/ZoomControl.test.js +++ b/client/src/components/Workflow/Editor/ZoomControl.test.js @@ -15,14 +15,11 @@ describe("ZoomControl", () => { }); const buttons = wrapper.findAll("button"); expect(buttons.length).toBe(3); - buttons.at(0).trigger("click"); - await localVue.nextTick(); + await buttons.at(0).trigger("click"); expect(wrapper.emitted().onZoom[0][0]).toBe(9); - buttons.at(1).trigger("click"); - await localVue.nextTick(); + await buttons.at(1).trigger("click"); expect(wrapper.emitted().onZoom[1][0]).toBe(10); - buttons.at(2).trigger("click"); - await localVue.nextTick(); + await buttons.at(2).trigger("click"); expect(wrapper.emitted().onZoom[2][0]).toBe(11); }); }); diff --git a/client/src/components/WorkflowInvocationState/JobStep.test.js b/client/src/components/WorkflowInvocationState/JobStep.test.js index 1de49f115ad..1221f7fb172 100644 --- a/client/src/components/WorkflowInvocationState/JobStep.test.js +++ b/client/src/components/WorkflowInvocationState/JobStep.test.js @@ -35,13 +35,11 @@ describe("DatasetUIWrapper.vue with Dataset", () => { expect(wrapper.vm.toggledItems["1"]).toBe(undefined); expect(wrapper.find(".expanded").exists()).toBeFalsy(); // expand - wrapper.find("tbody").find("tbody").find("tr").trigger("click"); - await localVue.nextTick(); + await wrapper.find("tbody").find("tbody").find("tr").trigger("click"); expect(wrapper.vm.toggledItems["1"]).toBeTruthy(); expect(wrapper.find(".expanded").exists()).toBeTruthy(); - wrapper.find("tbody").find("tbody").find("tr").trigger("click"); + await wrapper.find("tbody").find("tbody").find("tr").trigger("click"); // close again - await localVue.nextTick(); expect(wrapper.vm.toggledItems["1"]).toBeFalsy(); expect(wrapper.find(".expanded").exists()).toBeFalsy(); }); @@ -50,16 +48,14 @@ describe("DatasetUIWrapper.vue with Dataset", () => { expect(wrapper.vm.toggledItems["1"]).toBe(undefined); expect(wrapper.find(".expanded").exists()).toBeFalsy(); // expand - wrapper.find("tbody").find("tbody").find("tr").trigger("click"); - await localVue.nextTick(); + await wrapper.find("tbody").find("tbody").find("tr").trigger("click"); expect(wrapper.vm.toggledItems["1"]).toBeTruthy(); expect(wrapper.find(".expanded").exists()).toBeTruthy(); // 2 collapsed rows, plus 1 expanded row expect(wrapper.find("tbody").findAll("tr").length).toBe(3); // update data const additionalJob = { ...jobs[0], id: 3 }; - wrapper.setProps({ jobs: [...jobs, additionalJob] }); - await localVue.nextTick(); + await wrapper.setProps({ jobs: [...jobs, additionalJob] }); // verify new data is displayed expect(wrapper.find("tbody").findAll("tr").length).toBe(4); // verify first row is still expanded