Skip to content

Commit 513bcad

Browse files
committed
test: update snapshot and fix hidden class assertion
1 parent a6a1726 commit 513bcad

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

src/components/Dropdown/Dropdown.test.jsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const items = [
1313
];
1414

1515
function getListWrapper(container) {
16-
return container.querySelector("ul").closest("div").className;
16+
return container.querySelector("ul").closest("div");
1717
}
1818

1919
describe("Dropdown", () => {
@@ -30,15 +30,15 @@ describe("Dropdown", () => {
3030

3131
it("hides the dropdown by default", () => {
3232
const { container } = render(<Dropdown items={items} />);
33-
expect(getListWrapper(container)).toContain("hidden");
33+
expect(getListWrapper(container).classList.contains("hidden")).toBe(true);
3434
});
3535

3636
it("shows the dropdown on hover", () => {
3737
const { container } = render(<Dropdown items={items} />);
3838
const nav = container.querySelector("nav");
3939

4040
fireEvent.mouseOver(nav);
41-
expect(getListWrapper(container)).not.toContain("hidden");
41+
expect(getListWrapper(container).classList.contains("hidden")).toBe(false);
4242
});
4343

4444
it("hides the dropdown on mouse leave", () => {
@@ -47,18 +47,18 @@ describe("Dropdown", () => {
4747

4848
fireEvent.mouseOver(nav);
4949
fireEvent.mouseLeave(nav);
50-
expect(getListWrapper(container)).toContain("hidden");
50+
expect(getListWrapper(container).classList.contains("hidden")).toBe(true);
5151
});
5252

5353
it("toggles dropdown on button click", () => {
5454
const { container } = render(<Dropdown items={items} />);
5555
const button = screen.getByRole("button", { name: /select language/i });
5656

5757
fireEvent.click(button);
58-
expect(getListWrapper(container)).not.toContain("hidden");
58+
expect(getListWrapper(container).classList.contains("hidden")).toBe(false);
5959

6060
fireEvent.click(button);
61-
expect(getListWrapper(container)).toContain("hidden");
61+
expect(getListWrapper(container).classList.contains("hidden")).toBe(true);
6262
});
6363

6464
it("sets aria-expanded correctly", () => {
@@ -82,29 +82,29 @@ describe("Dropdown", () => {
8282
const button = screen.getByRole("button", { name: /select language/i });
8383

8484
fireEvent.click(button);
85-
expect(getListWrapper(container)).not.toContain("hidden");
85+
expect(getListWrapper(container).classList.contains("hidden")).toBe(false);
8686

8787
act(() => {
8888
document.dispatchEvent(
8989
new KeyboardEvent("keyup", { key: "Escape", bubbles: true }),
9090
);
9191
});
9292

93-
expect(getListWrapper(container)).toContain("hidden");
93+
expect(getListWrapper(container).classList.contains("hidden")).toBe(true);
9494
});
9595

9696
it("closes when clicking outside", () => {
9797
const { container } = render(<Dropdown items={items} />);
9898
const button = screen.getByRole("button", { name: /select language/i });
9999

100100
fireEvent.click(button);
101-
expect(getListWrapper(container)).not.toContain("hidden");
101+
expect(getListWrapper(container).classList.contains("hidden")).toBe(false);
102102

103103
act(() => {
104104
document.dispatchEvent(new MouseEvent("click", { bubbles: true }));
105105
});
106106

107-
expect(getListWrapper(container)).toContain("hidden");
107+
expect(getListWrapper(container).classList.contains("hidden")).toBe(true);
108108
});
109109

110110
it("does not close dropdown when arrow keys are pressed", () => {
@@ -114,10 +114,10 @@ describe("Dropdown", () => {
114114

115115
const links = screen.getAllByRole("link");
116116
fireEvent.keyDown(links[0], { key: "ArrowDown" });
117-
expect(getListWrapper(container)).not.toContain("hidden");
117+
expect(getListWrapper(container).classList.contains("hidden")).toBe(false);
118118

119119
fireEvent.keyDown(links[links.length - 1], { key: "ArrowDown" });
120-
expect(getListWrapper(container)).not.toContain("hidden");
120+
expect(getListWrapper(container).classList.contains("hidden")).toBe(false);
121121
});
122122

123123
it("matches snapshot", () => {

src/components/Dropdown/__snapshots__/Dropdown.test.jsx.snap

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,14 @@ exports[`Dropdown matches snapshot 1`] = `
5151
/>
5252
</button>
5353
<div
54-
class="hidden absolute top-full right-0 text-[13px] bg-[#526b78] rounded-md shadow-[0_4px_12px_rgba(0,0,0,0.4)] z-[9999]"
54+
class="hidden absolute top-full left-1/2 -translate-x-1/2 overflow-hidden text-[13px] bg-[#526b78] rounded-md shadow-[0_4px_12px_rgba(0,0,0,0.4)] z-[9999]"
5555
>
56-
<ul
57-
class="pt-1"
58-
>
56+
<ul>
5957
<li
60-
class="py-1 px-2 list-none text-white transition-all duration-[250ms] hover:bg-[#175d96]"
58+
class="list-none"
6159
>
6260
<a
63-
class="px-5 block text-white visited:text-white hover:text-white"
61+
class="block min-w-[88px] px-3 py-1 text-center text-white transition-colors duration-[200ms] visited:text-white hover:bg-[#175d96] hover:text-white focus:bg-[#175d96] focus:text-white"
6462
href="/en/"
6563
>
6664
<span
@@ -72,10 +70,10 @@ exports[`Dropdown matches snapshot 1`] = `
7270
</a>
7371
</li>
7472
<li
75-
class="py-1 px-2 list-none text-white transition-all duration-[250ms] hover:bg-[#175d96]"
73+
class="list-none"
7674
>
7775
<a
78-
class="px-5 block text-white visited:text-white hover:text-white"
76+
class="block min-w-[88px] px-3 py-1 text-center text-white transition-colors duration-[200ms] visited:text-white hover:bg-[#175d96] hover:text-white focus:bg-[#175d96] focus:text-white"
7977
href="/fr/"
8078
>
8179
<span
@@ -87,10 +85,10 @@ exports[`Dropdown matches snapshot 1`] = `
8785
</a>
8886
</li>
8987
<li
90-
class="py-1 px-2 list-none text-white transition-all duration-[250ms] hover:bg-[#175d96]"
88+
class="list-none"
9189
>
9290
<a
93-
class="px-5 block text-white visited:text-white hover:text-white"
91+
class="block min-w-[88px] px-3 py-1 text-center text-white transition-colors duration-[200ms] visited:text-white hover:bg-[#175d96] hover:text-white focus:bg-[#175d96] focus:text-white"
9492
href="/es/"
9593
>
9694
<span

0 commit comments

Comments
 (0)