Skip to content

Commit 07a4ffb

Browse files
Add tests that pagination is updated when a model is removed
1 parent 1424afc commit 07a4ffb

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

extensions/ql-vscode/src/view/method-modeling/__tests__/MultipleModeledMethodsPanel.spec.tsx

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -636,6 +636,52 @@ describe(MultipleModeledMethodsPanel.name, () => {
636636
}),
637637
).toHaveValue("remote");
638638
});
639+
640+
it("preserves selection when a modeling other than the selected modeling is removed", async () => {
641+
const { rerender } = render({
642+
method,
643+
modeledMethods,
644+
isModelingInProgress,
645+
onChange,
646+
});
647+
648+
expect(screen.getByText("1/3")).toBeInTheDocument();
649+
650+
rerender(
651+
<MultipleModeledMethodsPanel
652+
method={method}
653+
modeledMethods={modeledMethods.slice(0, 2)}
654+
isModelingInProgress={isModelingInProgress}
655+
onChange={onChange}
656+
/>,
657+
);
658+
659+
expect(screen.getByText("1/2")).toBeInTheDocument();
660+
});
661+
662+
it("reduces selection when the selected modeling is removed", async () => {
663+
const { rerender } = render({
664+
method,
665+
modeledMethods,
666+
isModelingInProgress,
667+
onChange,
668+
});
669+
670+
await userEvent.click(screen.getByLabelText("Next modeling"));
671+
await userEvent.click(screen.getByLabelText("Next modeling"));
672+
expect(screen.getByText("3/3")).toBeInTheDocument();
673+
674+
rerender(
675+
<MultipleModeledMethodsPanel
676+
method={method}
677+
modeledMethods={modeledMethods.slice(0, 2)}
678+
isModelingInProgress={isModelingInProgress}
679+
onChange={onChange}
680+
/>,
681+
);
682+
683+
expect(screen.getByText("2/2")).toBeInTheDocument();
684+
});
639685
});
640686

641687
describe("with 1 modeled and 1 unmodeled method", () => {

0 commit comments

Comments
 (0)