diff --git a/web/src/components/dashboards/SelectFolderDropdown.spec.ts b/web/src/components/dashboards/SelectFolderDropdown.spec.ts index 3717026c9b..a5eb995f49 100644 --- a/web/src/components/dashboards/SelectFolderDropdown.spec.ts +++ b/web/src/components/dashboards/SelectFolderDropdown.spec.ts @@ -16,6 +16,7 @@ import { describe, it, expect, beforeEach, vi } from "vitest"; import { mount } from "@vue/test-utils"; import SelectFolderDropdown from "./SelectFolderDropdown.vue"; +import OSelect from "@/lib/forms/Select/OSelect.vue"; import i18n from "@/locales"; import { createStore } from "vuex"; import { createRouter, createWebHistory } from "vue-router"; @@ -341,6 +342,26 @@ describe("SelectFolderDropdown", () => { }); }); + describe("disabled prop", () => { + it("locks the folder select and the new-folder button when disabled", () => { + const wrapper = createWrapper({ disabled: true }, store, router); + + expect(wrapper.findComponent(OSelect).props("disabled")).toBe(true); + expect( + wrapper.find('[data-test="dashboard-folder-move-new-add"]').attributes("disabled"), + ).toBeDefined(); + }); + + it("leaves both controls enabled by default", () => { + const wrapper = createWrapper({}, store, router); + + expect(wrapper.findComponent(OSelect).props("disabled")).toBe(false); + expect( + wrapper.find('[data-test="dashboard-folder-move-new-add"]').attributes("disabled"), + ).toBeUndefined(); + }); + }); + describe("Reactive folder list", () => { it("should refresh selectedFolder when the store folders list changes and current id no longer exists", async () => { const wrapper = createWrapper({ activeFolderId: "folder1" }, store, router); diff --git a/web/src/components/dashboards/SelectFolderDropdown.vue b/web/src/components/dashboards/SelectFolderDropdown.vue index 3bd442a7a0..99059a241a 100644 --- a/web/src/components/dashboards/SelectFolderDropdown.vue +++ b/web/src/components/dashboards/SelectFolderDropdown.vue @@ -24,6 +24,7 @@ along with this program. If not, see . :options="folderOptions" data-test="index-dropdown-stream_type" labelKey="label" + :disabled="disabled" class="flex-1" >