diff --git a/frontend/src/metabase/collections/containers/CollectionContent.jsx b/frontend/src/metabase/collections/containers/CollectionContent.jsx index 3252fd474631023e8381f363e55df99e110110df..4be39821c1a86059ddee8536c5a048212508e6cc 100644 --- a/frontend/src/metabase/collections/containers/CollectionContent.jsx +++ b/frontend/src/metabase/collections/containers/CollectionContent.jsx @@ -66,11 +66,11 @@ function CollectionContent({ const handleBulkArchive = useCallback(async () => { try { - await Promise.all(selectedItems.map(item => item.setArchived(true))); + await Promise.all(selected.map(item => item.setArchived(true))); } finally { clear(); } - }, [selectedItems, clear]); + }, [selected, clear]); const handleBulkMoveStart = () => { setSelectedItems(selected); diff --git a/frontend/test/metabase/scenarios/collections/collections.cy.spec.js b/frontend/test/metabase/scenarios/collections/collections.cy.spec.js index 9581f062c6c3cfd34022202fe8e08667bea7efc0..d642f3ad47642ace8e9c92acc420f93361126d42 100644 --- a/frontend/test/metabase/scenarios/collections/collections.cy.spec.js +++ b/frontend/test/metabase/scenarios/collections/collections.cy.spec.js @@ -622,6 +622,45 @@ describe("scenarios > collection_defaults", () => { cy.findByTestId("bulk-action-bar").should("not.be.visible"); } }); + + describe("archive", () => { + it("should be possible to bulk archive items (metabase#16496)", () => { + cy.visit("/collection/root"); + selectItemUsingCheckbox("Orders"); + + cy.findByTestId("bulk-action-bar") + .button("Archive") + .click(); + + cy.findByText("Orders").should("not.exist"); + cy.findByTestId("bulk-action-bar").should("not.be.visible"); + }); + }); + + describe("move", () => { + it("should be possible to bulk move items", () => { + cy.visit("/collection/root"); + selectItemUsingCheckbox("Orders"); + + cy.findByTestId("bulk-action-bar") + .button("Move") + .click(); + + modal().within(() => { + cy.findByText("First collection").click(); + cy.button("Move").click(); + }); + + cy.findByText("Orders").should("not.exist"); + cy.findByTestId("bulk-action-bar").should("not.be.visible"); + + // Check that items were actually moved + sidebar() + .findByText("First collection") + .click(); + cy.findByText("Orders"); + }); + }); }); }); });