storj.io/minio@v0.0.0-20230509071714-0cbc90f649b1/browser/app/js/objects/__tests__/ObjectsBulkActions.test.js (about) 1 /* 2 * MinIO Cloud Storage (C) 2018 MinIO, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 import React from "react" 18 import { shallow } from "enzyme" 19 import { ObjectsBulkActions } from "../ObjectsBulkActions" 20 21 describe("ObjectsBulkActions", () => { 22 it("should render without crashing", () => { 23 shallow(<ObjectsBulkActions checkedObjects={[]} />) 24 }) 25 26 it("should show actions when checkObjectsCount is more than 0", () => { 27 const wrapper = shallow(<ObjectsBulkActions checkedObjects={["test"]} />) 28 expect(wrapper.hasClass("list-actions-toggled")).toBeTruthy() 29 }) 30 31 it("should call downloadObject when single object is selected and download button is clicked", () => { 32 const downloadObject = jest.fn() 33 const clearChecked = jest.fn() 34 const wrapper = shallow( 35 <ObjectsBulkActions 36 checkedObjects={["test"]} 37 downloadObject={downloadObject} 38 clearChecked={clearChecked} 39 /> 40 ) 41 wrapper.find("#download-checked").simulate("click") 42 expect(downloadObject).toHaveBeenCalled() 43 }) 44 45 it("should call downloadChecked when a folder is selected and download button is clicked", () => { 46 const downloadChecked = jest.fn() 47 const wrapper = shallow( 48 <ObjectsBulkActions 49 checkedObjects={["test/"]} 50 downloadChecked={downloadChecked} 51 /> 52 ) 53 wrapper.find("#download-checked").simulate("click") 54 expect(downloadChecked).toHaveBeenCalled() 55 }) 56 57 it("should call downloadChecked when multiple objects are selected and download button is clicked", () => { 58 const downloadChecked = jest.fn() 59 const wrapper = shallow( 60 <ObjectsBulkActions 61 checkedObjects={["test1", "test2"]} 62 downloadChecked={downloadChecked} 63 /> 64 ) 65 wrapper.find("#download-checked").simulate("click") 66 expect(downloadChecked).toHaveBeenCalled() 67 }) 68 69 it("should call clearChecked when close button is clicked", () => { 70 const clearChecked = jest.fn() 71 const wrapper = shallow( 72 <ObjectsBulkActions checkedObjects={["test"]} clearChecked={clearChecked} /> 73 ) 74 wrapper.find("#close-bulk-actions").simulate("click") 75 expect(clearChecked).toHaveBeenCalled() 76 }) 77 78 it("shoud show DeleteObjectConfirmModal when delete-checked button is clicked", () => { 79 const wrapper = shallow(<ObjectsBulkActions checkedObjects={["test"]} />) 80 wrapper.find("#delete-checked").simulate("click") 81 wrapper.update() 82 expect(wrapper.find("DeleteObjectConfirmModal").length).toBe(1) 83 }) 84 85 it("shoud call deleteChecked when Delete is clicked on confirmation modal", () => { 86 const deleteChecked = jest.fn() 87 const wrapper = shallow( 88 <ObjectsBulkActions 89 checkedObjects={["test"]} 90 deleteChecked={deleteChecked} 91 /> 92 ) 93 wrapper.find("#delete-checked").simulate("click") 94 wrapper.update() 95 wrapper.find("DeleteObjectConfirmModal").prop("deleteObject")() 96 expect(deleteChecked).toHaveBeenCalled() 97 wrapper.update() 98 expect(wrapper.find("DeleteObjectConfirmModal").length).toBe(0) 99 }) 100 })