From e5d71f141c23b729c2de7e1d50f0f5f7362169ca Mon Sep 17 00:00:00 2001 From: John Chilton Date: Mon, 6 Mar 2023 20:00:57 -0500 Subject: [PATCH] Add test case for WorkflowSelectPreferredObjectStore.test.js --- ...WorkflowSelectPreferredObjectStore.test.js | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 client/src/components/Workflow/Run/WorkflowSelectPreferredObjectStore.test.js diff --git a/client/src/components/Workflow/Run/WorkflowSelectPreferredObjectStore.test.js b/client/src/components/Workflow/Run/WorkflowSelectPreferredObjectStore.test.js new file mode 100644 index 00000000000..3465b04fc42 --- /dev/null +++ b/client/src/components/Workflow/Run/WorkflowSelectPreferredObjectStore.test.js @@ -0,0 +1,41 @@ +import { mount } from "@vue/test-utils"; +import { getLocalVue } from "tests/jest/helpers"; +import { setupSelectableMock } from "@/components/ObjectStore/mockServices"; +setupSelectableMock(); + +import flushPromises from "flush-promises"; + +import WorkflowSelectPreferredObjectStore from "./WorkflowSelectPreferredObjectStore.vue"; + +const localVue = getLocalVue(true); + +function mountComponent() { + const wrapper = mount(WorkflowSelectPreferredObjectStore, { + propsData: { invocationPreferredObjectStoreId: null }, + localVue, + }); + return wrapper; +} + +import { ROOT_COMPONENT } from "@/utils/navigation"; + +const PREFERENCES = ROOT_COMPONENT.preferences; + +describe("WorkflowSelectPreferredObjectStore.vue", () => { + it("updates object store to default on selection null", async () => { + const wrapper = mountComponent(); + await flushPromises(); + const els = wrapper.findAll(PREFERENCES.object_store_selection.option_buttons.selector); + expect(els.length).toBe(3); + const galaxyDefaultOption = wrapper.find( + PREFERENCES.object_store_selection.option_button({ object_store_id: "__null__" }).selector + ); + expect(galaxyDefaultOption.exists()).toBeTruthy(); + await galaxyDefaultOption.trigger("click"); + await flushPromises(); + const errorEl = wrapper.find(".object-store-selection-error"); + expect(errorEl.exists()).toBeFalsy(); + const emitted = wrapper.emitted(); + expect(emitted["updated"][0][0]).toEqual(null); + }); +});