github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/web/src/Tooltip.test.tsx (about)

     1  import { render, screen } from "@testing-library/react"
     2  import userEvent from "@testing-library/user-event"
     3  import React from "react"
     4  import { TiltInfoTooltip } from "./Tooltip"
     5  
     6  describe("TiltInfoTooltip", () => {
     7    beforeEach(() => {
     8      localStorage.clear()
     9    })
    10  
    11    afterEach(() => {
    12      localStorage.clear()
    13    })
    14  
    15    it("hides info button when clicked", () => {
    16      let { container } = render(
    17        <TiltInfoTooltip title="Hello!" dismissId="test-tooltip" open={true} />
    18      )
    19  
    20      expect(container.querySelectorAll("svg").length).toEqual(1)
    21      userEvent.hover(container.querySelector("svg")!)
    22  
    23      expect(screen.getByText("Don't show this tip")).toBeInTheDocument()
    24      userEvent.click(screen.getByText("Don't show this tip"))
    25      expect(screen.queryByText("Don't show this tip")).not.toBeInTheDocument()
    26  
    27      // and the setting is in localStorage
    28      expect(localStorage.getItem("tooltip-dismissed-test-tooltip")).toEqual(
    29        "true"
    30      )
    31    })
    32  })