Skip to content

Commit a348400

Browse files
Add interaction tests for pagelayout sticky (#2241)
* Add interaction tests for pagelayout sticky Maybe add a wait Remove wait times * The second check makes things flaky * add interaction tests for custom sticky header * remove unnecessary import * remove fireEvent scroll Co-authored-by: Armagan Ersoz <[email protected]>
1 parent 9c013e1 commit a348400

File tree

2 files changed

+485
-37
lines changed

2 files changed

+485
-37
lines changed

src/PageLayout/PageLayout.stories.tsx

Lines changed: 60 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -489,27 +489,38 @@ export const StickyPane: Story = args => (
489489
</PageLayout.Header>
490490
<PageLayout.Content padding="normal" width="large">
491491
<Box sx={{display: 'grid', gap: 3}}>
492-
{Array.from({length: args.numParagraphsInContent}).map((_, i) => (
493-
<Box key={i} as="p" sx={{margin: 0}}>
494-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at enim id lorem tempus egestas a non ipsum.
495-
Maecenas imperdiet ante quam, at varius lorem molestie vel. Sed at eros consequat, varius tellus et, auctor
496-
felis. Donec pulvinar lacinia urna nec commodo. Phasellus at imperdiet risus. Donec sit amet massa purus.
497-
Nunc sem lectus, bibendum a sapien nec, tristique tempus felis. Ut porttitor auctor tellus in imperdiet. Ut
498-
blandit tincidunt augue, quis fringilla nunc tincidunt sed. Vestibulum auctor euismod nisi. Nullam tincidunt
499-
est in mi tincidunt dictum. Sed consectetur aliquet velit ut ornare.
500-
</Box>
501-
))}
492+
{Array.from({length: args.numParagraphsInContent}).map((_, i) => {
493+
const testId = `content${i}`
494+
return (
495+
<Box key={i} as="p" sx={{margin: 0}}>
496+
<span data-testid={testId}>
497+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at enim id lorem tempus egestas a non
498+
ipsum. Maecenas imperdiet ante quam, at varius lorem molestie vel. Sed at eros consequat, varius tellus
499+
et, auctor felis. Donec pulvinar lacinia urna nec commodo. Phasellus at imperdiet risus. Donec sit amet
500+
massa purus. Nunc sem lectus, bibendum a sapien nec, tristique tempus felis. Ut porttitor auctor tellus
501+
in imperdiet. Ut blandit tincidunt augue, quis fringilla nunc tincidunt sed. Vestibulum auctor euismod
502+
nisi. Nullam tincidunt est in mi tincidunt dictum. Sed consectetur aliquet velit ut ornare.
503+
</span>
504+
</Box>
505+
)
506+
})}
502507
</Box>
503508
</PageLayout.Content>
504509
<PageLayout.Pane position="start" padding="normal" divider="line" sticky={args.sticky}>
505510
<Box sx={{display: 'grid', gap: 3}}>
506-
{Array.from({length: args.numParagraphsInPane}).map((_, i) => (
507-
<Box key={i} as="p" sx={{margin: 0}}>
508-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at enim id lorem tempus egestas a non ipsum.
509-
Maecenas imperdiet ante quam, at varius lorem molestie vel. Sed at eros consequat, varius tellus et, auctor
510-
felis. Donec pulvinar lacinia urna nec commodo. Phasellus at imperdiet risus. Donec sit amet massa purus.
511-
</Box>
512-
))}
511+
{Array.from({length: args.numParagraphsInPane}).map((_, i) => {
512+
const testId = `paragraph${i}`
513+
return (
514+
<Box key={i} as="p" sx={{margin: 0}}>
515+
<span data-testid={testId}>
516+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at enim id lorem tempus egestas a non
517+
ipsum. Maecenas imperdiet ante quam, at varius lorem molestie vel. Sed at eros consequat, varius tellus
518+
et, auctor felis. Donec pulvinar lacinia urna nec commodo. Phasellus at imperdiet risus. Donec sit amet
519+
massa purus.
520+
</span>
521+
</Box>
522+
)
523+
})}
513524
</Box>
514525
</PageLayout.Pane>
515526
<PageLayout.Footer padding="normal" divider="line">
@@ -589,8 +600,9 @@ NestedScrollContainer.argTypes = {
589600

590601
export const CustomStickyHeader: Story = args => (
591602
// a box to create a sticky top element that will be on the consumer side and outside of the PageLayout component
592-
<Box>
603+
<Box data-testid="story-window">
593604
<Box
605+
data-testid="sticky-header"
594606
sx={{
595607
position: 'sticky',
596608
top: 0,
@@ -606,29 +618,40 @@ export const CustomStickyHeader: Story = args => (
606618
</Box>
607619
<PageLayout rowGap="none" columnGap="none" padding="none" containerWidth="full">
608620
<PageLayout.Content padding="normal" width="large">
609-
<Box sx={{display: 'grid', gap: 3}}>
610-
{Array.from({length: args.numParagraphsInContent}).map((_, i) => (
611-
<Box key={i} as="p" sx={{margin: 0}}>
612-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at enim id lorem tempus egestas a non ipsum.
613-
Maecenas imperdiet ante quam, at varius lorem molestie vel. Sed at eros consequat, varius tellus et,
614-
auctor felis. Donec pulvinar lacinia urna nec commodo. Phasellus at imperdiet risus. Donec sit amet massa
615-
purus. Nunc sem lectus, bibendum a sapien nec, tristique tempus felis. Ut porttitor auctor tellus in
616-
imperdiet. Ut blandit tincidunt augue, quis fringilla nunc tincidunt sed. Vestibulum auctor euismod nisi.
617-
Nullam tincidunt est in mi tincidunt dictum. Sed consectetur aliquet velit ut ornare.
618-
</Box>
619-
))}
621+
<Box sx={{display: 'grid', gap: 3}} data-testid="scrollContainer">
622+
{Array.from({length: args.numParagraphsInContent}).map((_, i) => {
623+
const testId = `content${i}`
624+
return (
625+
<Box key={i} as="p" sx={{margin: 0}}>
626+
<span data-testid={testId}>
627+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at enim id lorem tempus egestas a non
628+
ipsum. Maecenas imperdiet ante quam, at varius lorem molestie vel. Sed at eros consequat, varius
629+
tellus et, auctor felis. Donec pulvinar lacinia urna nec commodo. Phasellus at imperdiet risus. Donec
630+
sit amet massa purus. Nunc sem lectus, bibendum a sapien nec, tristique tempus felis. Ut porttitor
631+
auctor tellus in imperdiet. Ut blandit tincidunt augue, quis fringilla nunc tincidunt sed. Vestibulum
632+
auctor euismod nisi. Nullam tincidunt est in mi tincidunt dictum. Sed consectetur aliquet velit ut
633+
ornare.
634+
</span>
635+
</Box>
636+
)
637+
})}
620638
</Box>
621639
</PageLayout.Content>
622640
<PageLayout.Pane position="start" padding="normal" divider="line" sticky stickyTop={args.stickyTop}>
623641
<Box sx={{display: 'grid', gap: 3}}>
624-
{Array.from({length: args.numParagraphsInPane}).map((_, i) => (
625-
<Box key={i} as="p" sx={{margin: 0}}>
626-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at enim id lorem tempus egestas a non ipsum.
627-
Maecenas imperdiet ante quam, at varius lorem molestie vel. Sed at eros consequat, varius tellus et,
628-
auctor felis. Donec pulvinar lacinia urna nec commodo. Phasellus at imperdiet risus. Donec sit amet massa
629-
purus.
630-
</Box>
631-
))}
642+
{Array.from({length: args.numParagraphsInPane}).map((_, i) => {
643+
const testId = `paragraph${i}`
644+
return (
645+
<Box key={i} as="p" sx={{margin: 0}}>
646+
<span data-testid={testId}>
647+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam at enim id lorem tempus egestas a non
648+
ipsum. Maecenas imperdiet ante quam, at varius lorem molestie vel. Sed at eros consequat, varius
649+
tellus et, auctor felis. Donec pulvinar lacinia urna nec commodo. Phasellus at imperdiet risus. Donec
650+
sit amet massa purus.
651+
</span>
652+
</Box>
653+
)
654+
})}
632655
</Box>
633656
</PageLayout.Pane>
634657
<PageLayout.Footer padding="normal" divider="line">

0 commit comments

Comments
 (0)