diff --git a/src/main/webui/src/app/components/content/common/ListControl.jsx b/src/main/webui/src/app/components/content/common/ListControl.jsx index 4679950..e9f6295 100644 --- a/src/main/webui/src/app/components/content/common/ListControl.jsx +++ b/src/main/webui/src/app/components/content/common/ListControl.jsx @@ -82,6 +82,6 @@ ListControl.propTypes={ type: PropTypes.string, legends: PropTypes.array, handleHideAll: PropTypes.func, - handleSearch: PropTypes.func.reqired, + handleSearch: PropTypes.func.isRequired, handleDebug: PropTypes.func }; diff --git a/src/main/webui/src/app/components/content/common/ListControl.test.jsx b/src/main/webui/src/app/components/content/common/ListControl.test.jsx new file mode 100644 index 0000000..4add198 --- /dev/null +++ b/src/main/webui/src/app/components/content/common/ListControl.test.jsx @@ -0,0 +1,67 @@ +/** + * Copyright (C) 2023 Red Hat, Inc. (https://github.com/Commonjava/indy-ui-service) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from "react"; +import {render, screen, cleanup, waitFor} from '@testing-library/react'; +import {MemoryRouter} from 'react-router-dom'; +import userEvent from "@testing-library/user-event"; +import '@testing-library/jest-dom'; +import ListControl from "./ListControl.jsx"; +import {remoteOptionLegend as remoteOptions} from "../../ComponentConstants.js"; + +afterEach(() => { + cleanup(); +}); + +describe('ListControl tests', () => { + it("Verify ListControl by default with remote", ()=>{ + render( + {}} + /> + ); + expect(screen.getByRole("button", {Name: "New..."})).toBeInTheDocument(); + + expect(screen.getByText(/Search:/u)).toBeInTheDocument(); + + expect(screen.getByText(/Sort by:/u)).toBeInTheDocument(); + expect(screen.getByRole("option", {name: "Remote URL"})).toBeInTheDocument(); + + expect(screen.getByText(/Capability Legend:/u)).toBeInTheDocument(); + + expect(screen.queryByRole("checkbox", {Name: "enableDebug"})).not.toBeInTheDocument(); + }); + + it("Verify ListControl by default with group", ()=>{ + render( + {}} + handleDebug={() => {}} + /> + ); + + expect(screen.getByRole("button", {name: "Hide All"})).toBeInTheDocument(); + + expect(screen.queryByText(/Sort by:/u)).not.toBeInTheDocument(); + + expect(screen.queryByText(/Capability Legend:/u)).not.toBeInTheDocument(); + + expect(screen.getByRole("checkbox", {Name: "enableDebug"})).toBeInTheDocument(); + }); +});