Skip to content

Commit d937934

Browse files
Use the onChange handler in tests
1 parent 0ff523a commit d937934

1 file changed

Lines changed: 31 additions & 14 deletions

File tree

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

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -368,12 +368,25 @@ describe(MethodRow.name, () => {
368368
},
369369
});
370370

371+
onChange.mockReset();
371372
await userEvent.click(screen.getByLabelText("Add new model"));
372373

373-
const kindInputs = screen.getAllByRole("combobox", { name: "Model type" });
374-
expect(kindInputs).toHaveLength(2);
375-
expect(kindInputs[0]).toHaveValue(modeledMethod.type);
376-
expect(kindInputs[1]).toHaveValue("none");
374+
expect(onChange).toHaveBeenCalledTimes(1);
375+
expect(onChange).toHaveBeenCalledWith(method.signature, [
376+
modeledMethod,
377+
{
378+
type: "none",
379+
input: "",
380+
output: "",
381+
kind: "",
382+
provenance: "manual",
383+
signature: method.signature,
384+
packageName: method.packageName,
385+
typeName: method.typeName,
386+
methodName: method.methodName,
387+
methodParameters: method.methodParameters,
388+
},
389+
]);
377390
});
378391

379392
it("can delete the first modeled method", async () => {
@@ -390,13 +403,15 @@ describe(MethodRow.name, () => {
390403
},
391404
});
392405

406+
onChange.mockReset();
393407
await userEvent.click(screen.getAllByLabelText("Remove model")[0]);
394408

395-
const kindInputs = screen.getAllByRole("combobox", { name: "Model type" });
396-
expect(kindInputs).toHaveLength(3);
397-
expect(kindInputs[0]).toHaveValue("sink");
398-
expect(kindInputs[1]).toHaveValue("none");
399-
expect(kindInputs[2]).toHaveValue("summary");
409+
expect(onChange).toHaveBeenCalledTimes(1);
410+
expect(onChange).toHaveBeenCalledWith(method.signature, [
411+
{ ...modeledMethod, type: "sink" },
412+
{ ...modeledMethod, type: "none" },
413+
{ ...modeledMethod, type: "summary" },
414+
]);
400415
});
401416

402417
it("can delete a modeled method in the middle", async () => {
@@ -413,12 +428,14 @@ describe(MethodRow.name, () => {
413428
},
414429
});
415430

431+
onChange.mockReset();
416432
await userEvent.click(screen.getAllByLabelText("Remove model")[2]);
417433

418-
const kindInputs = screen.getAllByRole("combobox", { name: "Model type" });
419-
expect(kindInputs).toHaveLength(3);
420-
expect(kindInputs[0]).toHaveValue("source");
421-
expect(kindInputs[1]).toHaveValue("sink");
422-
expect(kindInputs[2]).toHaveValue("summary");
434+
expect(onChange).toHaveBeenCalledTimes(1);
435+
expect(onChange).toHaveBeenCalledWith(method.signature, [
436+
{ ...modeledMethod, type: "source" },
437+
{ ...modeledMethod, type: "sink" },
438+
{ ...modeledMethod, type: "summary" },
439+
]);
423440
});
424441
});

0 commit comments

Comments
 (0)