storj.io/minio@v0.0.0-20230509071714-0cbc90f649b1/browser/app/js/objects/__tests__/PrefixContainer.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 { PrefixContainer } from "../PrefixContainer"
    20  
    21  describe("PrefixContainer", () => {
    22    it("should render without crashing", () => {
    23      shallow(<PrefixContainer object={{ name: "abc/" }} />)
    24    })
    25  
    26    it("should render ObjectItem with props", () => {
    27      const wrapper = shallow(<PrefixContainer object={{ name: "abc/" }} />)
    28      expect(wrapper.find("Connect(ObjectItem)").length).toBe(1)
    29      expect(wrapper.find("Connect(ObjectItem)").prop("name")).toBe("abc/")
    30    })
    31  
    32    it("should call selectPrefix when the prefix is clicked", () => {
    33      const selectPrefix = jest.fn()
    34      const wrapper = shallow(
    35        <PrefixContainer
    36          object={{ name: "abc/" }}
    37          currentPrefix={"xyz/"}
    38          selectPrefix={selectPrefix}
    39        />
    40      )
    41      wrapper.find("Connect(ObjectItem)").prop("onClick")()
    42      expect(selectPrefix).toHaveBeenCalledWith("xyz/abc/")
    43    })
    44  
    45    it("should pass actions to ObjectItem", () => {
    46      const wrapper = shallow(
    47        <PrefixContainer object={{ name: "abc/" }} checkedObjectsCount={0} />
    48      )
    49      expect(wrapper.find("Connect(ObjectItem)").prop("actionButtons")).not.toBe(
    50        undefined
    51      )
    52    })
    53  
    54    it("should pass empty actions to ObjectItem when checkedObjectCount is more than 0", () => {
    55      const wrapper = shallow(
    56        <PrefixContainer object={{ name: "abc/" }} checkedObjectsCount={1} />
    57      )
    58      expect(wrapper.find("Connect(ObjectItem)").prop("actionButtons")).toBe(
    59        undefined
    60      )
    61    })
    62  })