diff --git a/client/src/components/Common/ExportForm.test.js b/client/src/components/Common/ExportForm.test.js index d2e5957f77e..83cb06d4d23 100644 --- a/client/src/components/Common/ExportForm.test.js +++ b/client/src/components/Common/ExportForm.test.js @@ -35,4 +35,35 @@ describe("ExportForm.vue", () => { it("should localize button text", async () => { expect(wrapper.find(".export-button").text()).toBeLocalizationOf("Export"); }); + + it("should emit 'export' event with correct inputs on export button click", async () => { + await wrapper.setData({ + name: "export.tar.gz", + directory: "gxfiles://", + }); + expect(wrapper.emitted()).not.toHaveProperty("export"); + + await wrapper.find(".export-button").trigger("click"); + + expect(wrapper.emitted()).toHaveProperty("export"); + expect(wrapper.emitted()["export"][0][0]).toBe("gxfiles://"); + expect(wrapper.emitted()["export"][0][1]).toBe("export.tar.gz"); + }); + + it("should clear the inputs after export when clearInputAfterExport is enabled", async () => { + await wrapper.setProps({ + clearInputAfterExport: true, + }); + await wrapper.setData({ + name: "export.tar.gz", + directory: "gxfiles://", + }); + expect(wrapper.vm.directory).toEqual("gxfiles://"); + expect(wrapper.vm.name).toEqual("export.tar.gz"); + + await wrapper.find(".export-button").trigger("click"); + + expect(wrapper.vm.directory).toBe(null); + expect(wrapper.vm.name).toBe(null); + }); }); diff --git a/client/src/components/Common/ExportForm.vue b/client/src/components/Common/ExportForm.vue index 0dfc0019670..5c73d3366fe 100644 --- a/client/src/components/Common/ExportForm.vue +++ b/client/src/components/Common/ExportForm.vue @@ -1,5 +1,5 @@