chore: close quality-gate coverage gaps (#1689) (#1766)
Some checks failed
Run install, format, lint, build, and test on every push / build (push) Has been cancelled
Run install, format, lint, build, and test on every push / publish (push) Has been cancelled
Run install, format, lint, build, and test on every push / publish-github-container-registry (push) Has been cancelled
Some checks failed
Run install, format, lint, build, and test on every push / build (push) Has been cancelled
Run install, format, lint, build, and test on every push / publish (push) Has been cancelled
Run install, format, lint, build, and test on every push / publish-github-container-registry (push) Has been cancelled
Closes #1689. Typecheck cli/tui src, add a core/ format+lint gate, and gate core/json + core/client coverage. See PR #1766 for the full review history.
This commit is contained in:
parent
d76c4d5379
commit
373f346e5f
1 changed files with 2210 additions and 467 deletions
|
|
@ -13,6 +13,23 @@ describe("schemaToForm", () => {
|
|||
expect(form.sections[0]?.fields).toEqual([]);
|
||||
});
|
||||
|
||||
it("treats a non-object property value as an empty schema instead of throwing", () => {
|
||||
// A malformed server schema whose property value is null/primitive must not
|
||||
// crash — the field degrades to a plain string input labelled by its key.
|
||||
const form = schemaToForm(
|
||||
{ properties: { bad: null, worse: 42 } },
|
||||
"malformed",
|
||||
);
|
||||
const fields = form.sections[0]?.fields ?? [];
|
||||
expect(fields).toHaveLength(2);
|
||||
expect(
|
||||
fields.map((f) => ({ name: f.name, type: f.type, label: f.label })),
|
||||
).toEqual([
|
||||
{ name: "bad", type: "string", label: "bad" },
|
||||
{ name: "worse", type: "string", label: "worse" },
|
||||
]);
|
||||
});
|
||||
|
||||
it("maps each JSON Schema type to the matching ink-form field type", () => {
|
||||
const form = schemaToForm(
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue