Skip to content

Commit 6ab2d3f

Browse files
committed
Add test to check the behavior when sticky prop is disabled
1 parent 9fbe58d commit 6ab2d3f

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/components/__tests__/emoji-picker.test.browser.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ function DefaultPage({
2727
searchOnChange,
2828
rootChildren,
2929
emptyChildren = <div data-testid="empty">No emojis found</div>,
30+
sticky = true,
3031
}: {
3132
children?: ReactNode;
3233
locale?: EmojiPickerRootProps["locale"];
@@ -40,6 +41,7 @@ function DefaultPage({
4041
searchValue?: EmojiPickerSearchProps["value"];
4142
rootChildren?: EmojiPickerRootProps["children"];
4243
emptyChildren?: EmojiPickerEmptyProps["children"];
44+
sticky?: EmojiPickerRootProps["sticky"];
4345
}) {
4446
const [selectedEmoji, setSelectedEmoji] = useState<Emoji | null>(null);
4547

@@ -57,6 +59,7 @@ function DefaultPage({
5759
locale={locale}
5860
onEmojiSelect={setSelectedEmoji}
5961
skinTone={skinTone}
62+
sticky={sticky}
6063
>
6164
<EmojiPicker.Search
6265
data-testid="search"
@@ -431,6 +434,28 @@ describe("EmojiPicker.Root", () => {
431434
.element(page.getByRole("gridcell").nth(7))
432435
.toHaveAttribute("aria-colindex", "7");
433436
});
437+
438+
it("should support disabling sticky category headers", async () => {
439+
page.render(
440+
<DefaultPage
441+
sticky={false}
442+
listComponents={{
443+
CategoryHeader: ({ category, ...props }) => (
444+
<div
445+
data-testid="category-header"
446+
{...props}
447+
>
448+
{category.label}
449+
</div>
450+
),
451+
}}
452+
/>,
453+
);
454+
455+
await expect.element(page.getByTestId("category-header").nth(1)).not.toHaveStyle({
456+
position: "sticky",
457+
});
458+
});
434459
});
435460

436461
describe("EmojiPicker.Search", () => {

0 commit comments

Comments
 (0)