Skip to content

Commit ed636b8

Browse files
committed
test: refactor test utility helpers
1 parent 2e85ee9 commit ed636b8

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

test/Lightbox.spec.tsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
expectToBeZoomedIn,
1414
expectToBeZoomedOut,
1515
getCloseButton,
16-
getController,
16+
getPortal,
1717
getCurrentSlide,
1818
getCurrentSlideImage,
1919
getNextButton,
@@ -22,6 +22,7 @@ import {
2222
pointerSwipe,
2323
querySelector,
2424
querySelectorAll,
25+
queryPortal,
2526
renderLightbox,
2627
slides,
2728
suppressConsoleErrors,
@@ -164,11 +165,11 @@ describe("Lightbox", () => {
164165
const user = userEvent.setup();
165166

166167
renderLightbox();
167-
await user.click(querySelector(".yarll__portal")!);
168+
await user.click(getPortal());
168169
await expectLightboxToBeClosed();
169170

170171
renderLightbox();
171-
await user.click(querySelector(".yarll__slide")!);
172+
await user.click(getCurrentSlide());
172173
await expectLightboxToBeClosed();
173174
});
174175

@@ -195,10 +196,10 @@ describe("Lightbox", () => {
195196

196197
renderLightbox({ controller: { closeOnBackdropClick: false } });
197198

198-
await user.click(querySelector(".yarll__portal")!);
199+
await user.click(getPortal());
199200
await expectLightboxToBeOpen();
200201

201-
await user.click(querySelector(".yarll__slide")!);
202+
await user.click(getCurrentSlide());
202203
await expectLightboxToBeOpen();
203204
});
204205

@@ -213,7 +214,7 @@ describe("Lightbox", () => {
213214
vi.runAllTimers();
214215
});
215216

216-
expect(querySelector(".yarll__portal")).toBeNull();
217+
expect(queryPortal()).toBeNull();
217218
});
218219
});
219220

@@ -664,7 +665,7 @@ describe("Lightbox", () => {
664665
expect(document.activeElement).toBe(target);
665666

666667
clickButtonNext();
667-
expect(document.activeElement).toBe(getController());
668+
expect(document.activeElement).toBe(getPortal());
668669
});
669670

670671
it("handles slides array mutation while open", () => {
@@ -684,7 +685,7 @@ describe("Lightbox", () => {
684685

685686
rerender(<Lightbox index={1} setIndex={vi.fn()} slides={[newSlides[0]]} />);
686687

687-
expect(querySelector(".yarll__portal")).toBeNull();
688+
expect(queryPortal()).toBeNull();
688689
});
689690

690691
it("clamps offsets on window resize while zoomed in", async () => {

test/test-utils.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ function getSelector<E extends Element = Element>(selector: string) {
2929
return element;
3030
}
3131

32-
export function getController() {
32+
export function queryPortal() {
33+
return querySelector<HTMLDivElement>(".yarll__portal");
34+
}
35+
36+
export function getPortal() {
3337
return getSelector<HTMLDivElement>(".yarll__portal");
3438
}
3539

@@ -120,18 +124,18 @@ export function renderLightbox(props?: Omit<Partial<LightboxProps>, "index" | "s
120124
}
121125

122126
export async function expectLightboxToBeOpen() {
123-
expect(querySelector(".yarll__portal")).not.toBeNull();
127+
expect(queryPortal()).not.toBeNull();
124128
}
125129

126130
export async function expectLightboxToBeClosed() {
127-
const controller = querySelector(".yarll__portal");
131+
const controller = queryPortal();
128132
if (controller) {
129133
await act(async () => {
130134
fireEvent.transitionEnd(controller);
131135
});
132136
}
133137

134-
expect(querySelector(".yarll__portal")).toBeNull();
138+
expect(queryPortal()).toBeNull();
135139
}
136140

137141
function isCurrentSlideScaled() {

0 commit comments

Comments
 (0)