22199: cleanup
[arvados.git] / services / workbench2 / src / components / dropdown-menu / dropdown-menu.cy.js
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import React from "react";
6 import { DropdownMenu } from "./dropdown-menu";
7 import { MenuItem } from "@mui/material";
8 import { PaginationRightArrowIcon } from "../icon/icon";
9
10 describe("<DropdownMenu />", () => {
11     it("renders menu icon", () => {
12         cy.mount(<DropdownMenu id="test-menu" icon={<PaginationRightArrowIcon />} />);
13         cy.get('[data-cy=dropdown-menu-button]').should('have.length', 1);
14     });
15
16     it("opens and closes", () => {
17         cy.mount(<DropdownMenu id="test-menu" icon={<PaginationRightArrowIcon />} />);
18         cy.get('[data-cy=dropdown-menu-button]').click();
19         cy.get('ul[role=menu]').should('exist').click();
20         cy.get('ul[role=menu]').should('not.exist');
21     });
22
23     it("render menu items", () => {
24         cy.mount(
25             <DropdownMenu id="test-menu" icon={<PaginationRightArrowIcon />}>
26                 <MenuItem>Item 1</MenuItem>
27                 <MenuItem>Item 2</MenuItem>
28             </DropdownMenu>
29         );
30         cy.get('[data-cy=dropdown-menu-button]').click();
31         cy.get('li[role=menuitem]').should('have.length', 2);
32     });
33 });