From bdd6d9e7df9dede7aee7e006400946758c252890 Mon Sep 17 00:00:00 2001 From: Lisa Knox Date: Wed, 10 Jul 2024 15:54:59 -0400 Subject: [PATCH] 21720: * updated dropdown-menu test Arvados-DCO-1.1-Signed-off-by: Lisa Knox --- .../dropdown-menu/dropdown-menu.cy.js | 33 +++++++++++++++ .../dropdown-menu/dropdown-menu.test.tsx | 42 ------------------- .../dropdown-menu/dropdown-menu.tsx | 1 + 3 files changed, 34 insertions(+), 42 deletions(-) create mode 100644 services/workbench2/src/components/dropdown-menu/dropdown-menu.cy.js delete mode 100644 services/workbench2/src/components/dropdown-menu/dropdown-menu.test.tsx diff --git a/services/workbench2/src/components/dropdown-menu/dropdown-menu.cy.js b/services/workbench2/src/components/dropdown-menu/dropdown-menu.cy.js new file mode 100644 index 0000000000..ade059af74 --- /dev/null +++ b/services/workbench2/src/components/dropdown-menu/dropdown-menu.cy.js @@ -0,0 +1,33 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + +import React from "react"; +import { DropdownMenu } from "./dropdown-menu"; +import { MenuItem } from "@mui/material"; +import { PaginationRightArrowIcon } from "../icon/icon"; + +describe("", () => { + it("renders menu icon", () => { + cy.mount(} />); + cy.get('[data-cy=dropdown-menu-button]').should('have.length', 1); + }); + + it("opens and closes", () => { + cy.mount(} />); + cy.get('[data-cy=dropdown-menu-button]').click(); + cy.get('ul[role=menu]').should('exist').click(); + cy.get('ul[role=menu]').should('not.exist'); + }); + + it("render menu items", () => { + cy.mount( + }> + Item 1 + Item 2 + + ); + cy.get('[data-cy=dropdown-menu-button]').click(); + cy.get('li[role=menuitem]').should('have.length', 2); + }); +}); diff --git a/services/workbench2/src/components/dropdown-menu/dropdown-menu.test.tsx b/services/workbench2/src/components/dropdown-menu/dropdown-menu.test.tsx deleted file mode 100644 index bd3446cd6f..0000000000 --- a/services/workbench2/src/components/dropdown-menu/dropdown-menu.test.tsx +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (C) The Arvados Authors. All rights reserved. -// -// SPDX-License-Identifier: AGPL-3.0 - -import React from "react"; -import { shallow, configure } from "enzyme"; -import { DropdownMenu } from "./dropdown-menu"; -import Adapter from 'enzyme-adapter-react-16'; -import { MenuItem, IconButton, Menu } from "@mui/material"; -import { PaginationRightArrowIcon } from "../icon/icon"; - -configure({ adapter: new Adapter() }); - -describe("", () => { - it("renders menu icon", () => { - const dropdownMenu = shallow(} />); - expect(dropdownMenu.find(PaginationRightArrowIcon)).toHaveLength(1); - }); - - it("render menu items", () => { - const dropdownMenu = shallow( - }> - Item 1 - Item 2 - - ); - expect(dropdownMenu.find(MenuItem)).toHaveLength(2); - }); - - it("opens on menu icon click", () => { - const dropdownMenu = shallow(} />); - dropdownMenu.find(IconButton).simulate("click", {currentTarget: {}}); - expect((dropdownMenu.state() as any).anchorEl).toBeDefined(); - }); - - it("closes on menu click", () => { - const dropdownMenu = shallow(} />); - dropdownMenu.find(Menu).simulate("click", {currentTarget: {}}); - expect((dropdownMenu.state() as any).anchorEl).toBeUndefined(); - }); - -}); diff --git a/services/workbench2/src/components/dropdown-menu/dropdown-menu.tsx b/services/workbench2/src/components/dropdown-menu/dropdown-menu.tsx index 4d43d82654..ee3caffcc9 100644 --- a/services/workbench2/src/components/dropdown-menu/dropdown-menu.tsx +++ b/services/workbench2/src/components/dropdown-menu/dropdown-menu.tsx @@ -37,6 +37,7 @@ export class DropdownMenu extends React.Component