Skip to content

Commit f87b1c4

Browse files
Add some simple tests of rendering multiple models
1 parent 8eef4eb commit f87b1c4

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

extensions/ql-vscode/src/view/model-editor/__tests__/MethodRow.spec.tsx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,44 @@ describe(MethodRow.name, () => {
134134
expect(screen.getByLabelText("Loading")).toBeInTheDocument();
135135
});
136136

137+
it("can render multiple models", () => {
138+
render({
139+
modeledMethods: [
140+
{ ...modeledMethod, type: "source" },
141+
{ ...modeledMethod, type: "sink" },
142+
{ ...modeledMethod, type: "summary" },
143+
],
144+
viewState: {
145+
...viewState,
146+
showMultipleModels: true,
147+
},
148+
});
149+
150+
const kindInputs = screen.getAllByRole("combobox", { name: "Model type" });
151+
expect(kindInputs).toHaveLength(3);
152+
expect(kindInputs[0]).toHaveValue("source");
153+
expect(kindInputs[1]).toHaveValue("sink");
154+
expect(kindInputs[2]).toHaveValue("summary");
155+
});
156+
157+
it("renders only first model when showMultipleModels feature flag is disabled", () => {
158+
render({
159+
modeledMethods: [
160+
{ ...modeledMethod, type: "source" },
161+
{ ...modeledMethod, type: "sink" },
162+
{ ...modeledMethod, type: "summary" },
163+
],
164+
viewState: {
165+
...viewState,
166+
showMultipleModels: false,
167+
},
168+
});
169+
170+
const kindInputs = screen.getAllByRole("combobox", { name: "Model type" });
171+
expect(kindInputs.length).toBe(1);
172+
expect(kindInputs[0]).toHaveValue("source");
173+
});
174+
137175
it("renders an unmodelable method", () => {
138176
render({
139177
methodCanBeModeled: false,

0 commit comments

Comments
 (0)