Skip to content

Commit 3857e43

Browse files
authored
chore: Add test coverage for screen resize handling (#381)
1 parent 219c285 commit 3857e43

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

test/functional/board-layout/layout.test.ts

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,3 +485,92 @@ test(
485485
]);
486486
}),
487487
);
488+
489+
test(
490+
"adjusts default layout when screen resizes",
491+
setupTest(
492+
makeQueryUrl(
493+
[
494+
["A", "B", "C", "D"],
495+
["A", "B", "C", "D"],
496+
["E", "F", "G", "H"],
497+
["E", "F", "G", "H"],
498+
],
499+
[],
500+
),
501+
DndPageObject,
502+
async (page) => {
503+
// 4-column layout
504+
await page.setWindowSize({ width: 1600, height: 1200 });
505+
await expect(page.getGrid()).resolves.toEqual([
506+
["A", "B", "C", "D"],
507+
["A", "B", "C", "D"],
508+
["E", "F", "G", "H"],
509+
["E", "F", "G", "H"],
510+
]);
511+
512+
// 2-column layout
513+
await page.setWindowSize({ width: 1000, height: 1200 });
514+
await expect(page.getGrid()).resolves.toEqual([
515+
["A", "B", "A", "B"],
516+
["C", "D", "C", "D"],
517+
["E", "F", "E", "F"],
518+
["G", "H", "G", "H"],
519+
]);
520+
521+
// 1-column layout
522+
await page.setWindowSize({ width: 500, height: 1200 });
523+
await expect(page.getGrid()).resolves.toEqual([
524+
["A", "A", "B", "B"],
525+
["C", "C", "D", "D"],
526+
["E", "E", "F", "F"],
527+
["G", "G", "H", "H"],
528+
]);
529+
},
530+
),
531+
);
532+
533+
test(
534+
"preserves custom layout preference when screen resizes",
535+
setupTest(
536+
makeQueryUrl(
537+
[
538+
["A", "B", "C", "D"],
539+
["A", "B", "C", "D"],
540+
],
541+
[],
542+
),
543+
DndPageObject,
544+
async (page) => {
545+
await expect(page.getGrid()).resolves.toEqual([
546+
["A", "B", "C", "D"],
547+
["A", "B", "C", "D"],
548+
]);
549+
550+
// Swap A and B.
551+
await page.dragAndDropTo(
552+
boardWrapper.findItemById("A").findDragHandle().toSelector(),
553+
boardWrapper.findItemById("B").findDragHandle().toSelector(),
554+
);
555+
556+
await expect(page.getGrid()).resolves.toEqual([
557+
["B", "A", "C", "D"],
558+
["B", "A", "C", "D"],
559+
]);
560+
561+
// Resize to 1-column layout.
562+
await page.setWindowSize({ width: 800, height: 800 });
563+
await expect(page.getGrid()).resolves.toEqual([
564+
["B", "B", "A", "A"],
565+
["C", "C", "D", "D"],
566+
]);
567+
568+
// Resize back to 4-column layout.
569+
await page.setWindowSize({ width: 1600, height: 800 });
570+
await expect(page.getGrid()).resolves.toEqual([
571+
["B", "A", "C", "D"],
572+
["B", "A", "C", "D"],
573+
]);
574+
},
575+
),
576+
);

0 commit comments

Comments
 (0)