From 4a6bed829501f4ba60d939130aee905531d7b103 Mon Sep 17 00:00:00 2001 From: vejrj <77059398+vejrj@users.noreply.github.com> Date: Mon, 5 Jan 2026 13:36:26 +0100 Subject: [PATCH] mergeSchemaDefinitions implementation bug --- .../__tests__/mergeSchemaDefinitions.test.ts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/packages/supermassive/src/utilities/__tests__/mergeSchemaDefinitions.test.ts b/packages/supermassive/src/utilities/__tests__/mergeSchemaDefinitions.test.ts index 8f793ba00..927b3d6f5 100644 --- a/packages/supermassive/src/utilities/__tests__/mergeSchemaDefinitions.test.ts +++ b/packages/supermassive/src/utilities/__tests__/mergeSchemaDefinitions.test.ts @@ -447,4 +447,42 @@ describe("mergeSchemaDefinitions", () => { } `); }); + + it("should copy interfaces from source when interface extension has none", () => { + const defs1 = schema(` + extend interface Entity { + id: ID + } + `); + + const defs2 = schema(` + interface Entity implements Node & Named { + name: String + } + `); + const mergeResult1 = mergeSchemaDefinitions( + { types: {}, directives: [] }, + defs1, + ); + + const mergeResult2 = mergeSchemaDefinitions(mergeResult1, defs2); + expect(mergeResult2).toMatchInlineSnapshot(` + { + "directives": [], + "types": { + "Entity": [ + 3, + { + "id": 5, + "name": 1, + }, + [ + "Node", + "Named", + ], + ], + }, + } + `); + }); });