Skip to content

Commit 60d674d

Browse files
authored
Fix Change type export (#2827)
* Fix Change type export * prettier!!! * fix export for DirectiveUsage * export all missing meta functions * fix test
1 parent c5d5633 commit 60d674d

File tree

5 files changed

+617
-221
lines changed

5 files changed

+617
-221
lines changed

.changeset/odd-moons-sip.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@graphql-inspector/core': minor
3+
---
4+
5+
Added missing types to Change type and fix typo "DirectiveUsageInputObjectdRemovedChange" to
6+
"DirectiveUsageInputObjectRemovedChange"

packages/core/__tests__/diff/directive-usage.test.ts

+16-8
Original file line numberDiff line numberDiff line change
@@ -455,8 +455,10 @@ describe('directive-usage', () => {
455455

456456
expect(changes.length).toEqual(1);
457457
expect(change.criticality.level).toEqual(CriticalityLevel.Dangerous);
458-
expect(change.type).toEqual('DIRECTIVE_USAGE_ARGUMENT_DEFINITION_ADDED');
459-
expect(change.message).toEqual("Directive 'external' was added to argument 'a'");
458+
expect(change.type).toEqual('DIRECTIVE_USAGE_INPUT_FIELD_DEFINITION_ADDED');
459+
expect(change.message).toEqual(
460+
"Directive 'external' was added to input field 'a' in input object 'Foo'",
461+
);
460462
});
461463
test('removed directive', async () => {
462464
const a = buildSchema(/* GraphQL */ `
@@ -479,8 +481,10 @@ describe('directive-usage', () => {
479481

480482
expect(changes.length).toEqual(1);
481483
expect(change.criticality.level).toEqual(CriticalityLevel.Dangerous);
482-
expect(change.type).toEqual('DIRECTIVE_USAGE_ARGUMENT_DEFINITION_REMOVED');
483-
expect(change.message).toEqual("Directive 'external' was removed from input value 'Foo.a'");
484+
expect(change.type).toEqual('DIRECTIVE_USAGE_INPUT_FIELD_DEFINITION_REMOVED');
485+
expect(change.message).toEqual(
486+
"Directive 'external' was removed from input field 'a' in input object 'Foo'",
487+
);
484488
});
485489
});
486490

@@ -634,7 +638,9 @@ describe('directive-usage', () => {
634638

635639
expect(change.criticality.level).toEqual(CriticalityLevel.Dangerous);
636640
expect(change.type).toEqual('DIRECTIVE_USAGE_ARGUMENT_DEFINITION_ADDED');
637-
expect(change.message).toEqual("Directive 'external' was added to argument 'a'");
641+
expect(change.message).toEqual(
642+
"Directive 'external' was added to argument 'a' of field 'a' in type 'Foo'",
643+
);
638644
});
639645

640646
test('removed directive', async () => {
@@ -656,7 +662,9 @@ describe('directive-usage', () => {
656662

657663
expect(change.criticality.level).toEqual(CriticalityLevel.Dangerous);
658664
expect(change.type).toEqual('DIRECTIVE_USAGE_ARGUMENT_DEFINITION_REMOVED');
659-
expect(change.message).toEqual("Directive 'external' was removed from argument 'Foo.a'");
665+
expect(change.message).toEqual(
666+
"Directive 'external' was removed from argument 'a' of field 'a' in type 'Foo'",
667+
);
660668
});
661669
});
662670

@@ -686,7 +694,7 @@ describe('directive-usage', () => {
686694

687695
expect(change.criticality.level).toEqual(CriticalityLevel.Dangerous);
688696
expect(change.type).toEqual('DIRECTIVE_USAGE_SCHEMA_ADDED');
689-
expect(change.message).toEqual("Directive 'external' was added to schema");
697+
expect(change.message).toEqual("Directive 'external' was added to schema 'Foo'");
690698
});
691699
test('removed directive', async () => {
692700
const a = buildSchema(/* GraphQL */ `
@@ -713,7 +721,7 @@ describe('directive-usage', () => {
713721

714722
expect(change.criticality.level).toEqual(CriticalityLevel.Dangerous);
715723
expect(change.type).toEqual('DIRECTIVE_USAGE_SCHEMA_REMOVED');
716-
expect(change.message).toEqual("Directive 'external' was removed from schema");
724+
expect(change.message).toEqual("Directive 'external' was removed from schema 'Foo'");
717725
});
718726
});
719727
});

packages/core/src/diff/changes/change.ts

+16-3
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ export type DirectiveUsageEnumValueRemovedChange = {
653653
};
654654
};
655655

656-
export type DirectiveUsageInputObjectdRemovedChange = {
656+
export type DirectiveUsageInputObjectRemovedChange = {
657657
type: typeof ChangeType.DirectiveUsageInputObjectRemoved;
658658
meta: {
659659
inputObjectName: string;
@@ -812,6 +812,17 @@ export type DirectiveUsageInterfaceRemovedChange = {
812812
removedDirectiveName: string;
813813
};
814814
};
815+
816+
export type DirectiveUsageArgumentDefinitionAddedChange = {
817+
type: typeof ChangeType.DirectiveUsageArgumentDefinitionAdded;
818+
meta: {
819+
typeName: string;
820+
fieldName: string;
821+
argumentName: string;
822+
addedDirectiveName: string;
823+
};
824+
};
825+
815826
type Changes = {
816827
[ChangeType.TypeAdded]: TypeAddedChange;
817828
[ChangeType.TypeRemoved]: TypeRemovedChange;
@@ -892,7 +903,7 @@ type Changes = {
892903
[ChangeType.DirectiveUsageEnumValueAdded]: DirectiveUsageEnumValueAddedChange;
893904
[ChangeType.DirectiveUsageEnumValueRemoved]: DirectiveUsageEnumValueRemovedChange;
894905
[ChangeType.DirectiveUsageInputObjectAdded]: DirectiveUsageInputObjectAddedChange;
895-
[ChangeType.DirectiveUsageInputObjectRemoved]: DirectiveUsageInputObjectdRemovedChange;
906+
[ChangeType.DirectiveUsageInputObjectRemoved]: DirectiveUsageInputObjectRemovedChange;
896907
[ChangeType.DirectiveUsageFieldAdded]: DirectiveUsageFieldAddedChange;
897908
[ChangeType.DirectiveUsageFieldRemoved]: DirectiveUsageFieldRemovedChange;
898909
[ChangeType.DirectiveUsageScalarAdded]: DirectiveUsageScalarAddedChange;
@@ -901,12 +912,14 @@ type Changes = {
901912
[ChangeType.DirectiveUsageObjectRemoved]: DirectiveUsageObjectRemovedChange;
902913
[ChangeType.DirectiveUsageInterfaceAdded]: DirectiveUsageInterfaceAddedChange;
903914
[ChangeType.DirectiveUsageInterfaceRemoved]: DirectiveUsageInterfaceRemovedChange;
904-
[ChangeType.DirectiveUsageArgumentDefinitionAdded]: DirectiveUsageArgumentDefinitionChange;
915+
[ChangeType.DirectiveUsageArgumentDefinitionAdded]: DirectiveUsageArgumentDefinitionAddedChange;
905916
[ChangeType.DirectiveUsageArgumentDefinitionRemoved]: DirectiveUsageArgumentDefinitionRemovedChange;
906917
[ChangeType.DirectiveUsageSchemaAdded]: DirectiveUsageSchemaAddedChange;
907918
[ChangeType.DirectiveUsageSchemaRemoved]: DirectiveUsageSchemaRemovedChange;
908919
[ChangeType.DirectiveUsageFieldDefinitionAdded]: DirectiveUsageFieldDefinitionAddedChange;
909920
[ChangeType.DirectiveUsageFieldDefinitionRemoved]: DirectiveUsageFieldDefinitionRemovedChange;
921+
[ChangeType.DirectiveUsageInputFieldDefinitionAdded]: DirectiveUsageInputFieldDefinitionAddedChange;
922+
[ChangeType.DirectiveUsageInputFieldDefinitionRemoved]: DirectiveUsageInputFieldDefinitionRemovedChange;
910923
};
911924

912925
export type SerializableChange = Changes[keyof Changes];

0 commit comments

Comments
 (0)