Skip to content

Commit 658e38c

Browse files
authored
Merge pull request #3 from Slijeff/main
fix: alwaysRequired enums and passing required to array
2 parents 03c28b7 + 9b569ed commit 658e38c

File tree

1 file changed

+15
-11
lines changed
  • packages/graphql-demeter-core/src

1 file changed

+15
-11
lines changed

packages/graphql-demeter-core/src/index.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const mockValue = (f: FieldType, fakeScalarFn: ReturnType<typeof fakeScalar>, re
1717
return mockValue(f.nest, fakeScalarFn, true);
1818
}
1919
const arrayNumber = Math.floor(Math.random() * maxArray);
20-
return new Array(arrayNumber).fill(0).map(() => mockValue(f.nest, fakeScalarFn));
20+
return new Array(arrayNumber).fill(0).map(() => mockValue(f.nest, fakeScalarFn, required));
2121
};
2222
const mockObjectValue = (f: FieldType, required = false): unknown => {
2323
if (f.type === Options.name) {
@@ -30,7 +30,7 @@ const mockObjectValue = (f: FieldType, required = false): unknown => {
3030
return mockObjectValue(f.nest, true);
3131
}
3232
const arrayNumber = Math.floor(Math.random() * maxArray);
33-
return new Array(arrayNumber).fill(0).map(() => mockObjectValue(f.nest));
33+
return new Array(arrayNumber).fill(0).map(() => mockObjectValue(f.nest, required));
3434
};
3535

3636
export const createFakeResolvers = (schemaString: string, fakerConfig?: FakerConfig) => {
@@ -52,15 +52,19 @@ export const createFakeResolvers = (schemaString: string, fakerConfig?: FakerCon
5252
() => {
5353
const isEnum = enums.find((s) => s === tName);
5454
if (isEnum) {
55-
return mockValue(a.type.fieldType, () => {
56-
const e = tree.nodes.find((tn) => tn.name === tName);
57-
if (!e) {
58-
console.warn(`Can't find enum "${tName} in schema returning brokenEnum"`);
59-
return 'brokenEnum';
60-
}
61-
const possibleEnumValues = e.args.map((a) => a.name);
62-
return possibleEnumValues[Math.floor(Math.random() * possibleEnumValues.length)];
63-
});
55+
return mockValue(
56+
a.type.fieldType,
57+
() => {
58+
const e = tree.nodes.find((tn) => tn.name === tName);
59+
if (!e) {
60+
console.warn(`Can't find enum "${tName} in schema returning brokenEnum"`);
61+
return 'brokenEnum';
62+
}
63+
const possibleEnumValues = e.args.map((a) => a.name);
64+
return possibleEnumValues[Math.floor(Math.random() * possibleEnumValues.length)];
65+
},
66+
alwaysRequired,
67+
);
6468
}
6569
const isCustomScalar = scalars.find((s) => s === tName);
6670
const resolverValuesScalar = isCustomScalar && fakerConfig?.scalars?.[isCustomScalar];

0 commit comments

Comments
 (0)