Skip to content

Commit adb8a9e

Browse files
committed
chore: fix test
1 parent 7fafebb commit adb8a9e

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

composition-go/index.global.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

composition/src/errors/errors.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import { getEntriesNotInHashSet, getOrThrowError, kindToNodeType, numberToOrdina
4040
import { ImplementationErrors, InvalidEntityInterface, InvalidRequiredInputValueData } from '../utils/types';
4141
import { isFieldData } from '../schema-building/utils';
4242
import { printTypeNode } from '@graphql-tools/merge';
43-
import { NodeType, SubgraphName, TypeName } from '../types/types';
43+
import { NodeType, TypeName } from '../types/types';
4444

4545
export const minimumSubgraphRequirementError = new Error('At least one subgraph is required for federation.');
4646

@@ -346,7 +346,7 @@ export function incompatibleParentTypeMergeError({
346346
incomingNodeType,
347347
incomingSubgraphName,
348348
}: IncompatibleParentTypeMergeErrorParams): Error {
349-
const existingSubgraphNames = new Array<SubgraphName>(...existingData.subgraphNames);
349+
const existingSubgraphNames = [...existingData.subgraphNames];
350350
const nodeType = incomingNodeType ? `"${incomingNodeType}"` : interfaceObject;
351351
return new Error(
352352
` "${existingData.name}" is defined using incompatible types across subgraphs.` +

controlplane/test/composition-errors.test.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { readFile } from 'node:fs/promises';
22
import { join } from 'node:path';
33
import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
44
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test, vi } from 'vitest';
5-
import { parse } from 'graphql';
5+
import { Kind, parse } from 'graphql';
66
import { joinLabel } from '@wundergraph/cosmo-shared';
77
import {
88
FederationFailure,
@@ -19,8 +19,10 @@ import {
1919
noBaseDefinitionForExtensionError,
2020
noQueryRootTypeError,
2121
OBJECT,
22+
ObjectDefinitionData,
2223
STRING_SCALAR,
2324
} from '@wundergraph/composition';
25+
import { SubgraphName } from '@wundergraph/composition/dist/types/types.js';
2426
import { composeSubgraphs } from '../src/core/composition/composition.js';
2527
import { afterAllSetup, beforeAllSetup, genID, genUniqueLabel } from '../src/core/test-util.js';
2628
import { ClickHouseClient } from '../src/core/clickhouse/index.js';
@@ -344,7 +346,17 @@ describe('Composition error tests', (ctx) => {
344346
const result = composeSubgraphs([subgraph1, subgraph2], LATEST_ROUTER_COMPATIBILITY_VERSION) as FederationFailure;
345347
expect(result.success).toBe(false);
346348
expect(result.errors).toHaveLength(1);
347-
expect(result.errors[0]).toStrictEqual(incompatibleParentTypeMergeError('SameName', OBJECT, INTERFACE));
349+
expect(result.errors).toStrictEqual([
350+
incompatibleParentTypeMergeError({
351+
existingData: {
352+
name: 'SameName',
353+
kind: Kind.OBJECT_TYPE_DEFINITION,
354+
subgraphNames: new Set<SubgraphName>([subgraph1.name]),
355+
} as ObjectDefinitionData,
356+
incomingNodeType: INTERFACE,
357+
incomingSubgraphName: subgraph2.name,
358+
}),
359+
]);
348360
});
349361

350362
test('that composition errors are returned if a type does not satisfy its implemented Interfaces after federation', () => {

0 commit comments

Comments
 (0)