Skip to content

Commit dc91bcd

Browse files
Merge pull request #703 from thejackshelton/portal-popover
Improved Modal Test Suite
2 parents fd614cc + 81f5c43 commit dc91bcd

File tree

3 files changed

+13
-149
lines changed

3 files changed

+13
-149
lines changed

apps/website/src/routes/docs/headless/modal/examples/scroll-lock.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default component$(() => {
77
const isOpen = useSignal(false);
88

99
return (
10-
<div style={{ height: '200vh' }}>
10+
<div>
1111
<button class="modal-trigger" onClick$={() => (isOpen.value = true)}>
1212
Open Modal
1313
</button>

packages/kit-headless/src/components/modal/modal.test.ts

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,11 @@ test.describe('Scroll locking', () => {
6969
THEN the body should have overflow hidden`, async ({ page }) => {
7070
const { driver: d } = await setup(page, 'scroll-lock');
7171

72-
expect(
73-
await page.evaluate(() => {
74-
const { overflow } = getComputedStyle(document.body);
75-
return overflow === 'hidden';
76-
}),
77-
).toBe(false);
72+
await expect(page.locator('body')).toHaveCSS('overflow', 'visible');
7873

7974
await d.openModal();
8075

81-
expect(
82-
await page.evaluate(() => {
83-
const { overflow } = getComputedStyle(document.body);
84-
return overflow === 'hidden';
85-
}),
86-
).toBe(true);
76+
await expect(page.locator('body')).toHaveCSS('overflow', 'hidden');
8777
});
8878

8979
test(`GIVEN an open modal that has overflow hidden on the body
@@ -100,22 +90,12 @@ test.describe('Scroll locking', () => {
10090

10191
await d.openModal();
10292

103-
expect(
104-
await page.evaluate(() => {
105-
const { overflow } = getComputedStyle(document.body);
106-
return overflow === 'hidden';
107-
}),
108-
).toBe(true);
93+
await expect(page.locator('body')).toHaveCSS('overflow', 'hidden');
10994

11095
await d.getTrigger().press('Escape');
11196
await expect(d.getModal()).toBeHidden();
11297

113-
expect(
114-
await page.evaluate(() => {
115-
const { overflow } = getComputedStyle(document.body);
116-
return overflow === 'hidden';
117-
}),
118-
).toBe(false);
98+
await expect(page.locator('body')).toHaveCSS('overflow', 'visible');
11999
});
120100

121101
test(`GIVEN two open modals, one nested inside the other

0 commit comments

Comments
 (0)