@@ -235,14 +235,14 @@ export type MyTypeResolvers<ContextType = any, ParentType extends ResolversParen
235
235
236
236
expect ( result . content ) . toBeSimilarStringTo ( `
237
237
export type ResolversUnionTypes = {
238
- ChildUnion: ( Child & { __typename: " Child" } ) | ( MyOtherType & { __typename: " MyOtherType" } );
239
- MyUnion: ( Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversTypes['ChildUnion']> } & { __typename: " MyType" } ) | ( MyOtherType & { __typename: " MyOtherType" } );
238
+ ChildUnion: ( Child & { __typename: ' Child' } ) | ( MyOtherType & { __typename: ' MyOtherType' } );
239
+ MyUnion: ( Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversTypes['ChildUnion']> } & { __typename: ' MyType' } ) | ( MyOtherType & { __typename: ' MyOtherType' } );
240
240
};
241
241
` ) ;
242
242
expect ( result . content ) . toBeSimilarStringTo ( `
243
243
export type ResolversUnionParentTypes = {
244
- ChildUnion: ( Child & { __typename: " Child" } ) | ( MyOtherType & { __typename: " MyOtherType" } );
245
- MyUnion: ( Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversParentTypes['ChildUnion']> } & { __typename: " MyType" } ) | ( MyOtherType & { __typename: " MyOtherType" } );
244
+ ChildUnion: ( Child & { __typename: ' Child' } ) | ( MyOtherType & { __typename: ' MyOtherType' } );
245
+ MyUnion: ( Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversParentTypes['ChildUnion']> } & { __typename: ' MyType' } ) | ( MyOtherType & { __typename: ' MyOtherType' } );
246
246
};
247
247
` ) ;
248
248
} ) ;
@@ -257,17 +257,107 @@ export type MyTypeResolvers<ContextType = any, ParentType extends ResolversParen
257
257
258
258
expect ( result . content ) . toBeSimilarStringTo ( `
259
259
export type ResolversUnionTypes = {
260
- ChildUnion: ( Child & { __typename: " Child" } ) | ( MyOtherType & { __typename: " MyOtherType" } );
261
- MyUnion: ( Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversTypes['ChildUnion']> } & { __typename: " MyType" } ) | ( MyOtherType & { __typename: " MyOtherType" } );
260
+ ChildUnion: ( Child & { __typename: ' Child' } ) | ( MyOtherType & { __typename: ' MyOtherType' } );
261
+ MyUnion: ( Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversTypes['ChildUnion']> } & { __typename: ' MyType' } ) | ( MyOtherType & { __typename: ' MyOtherType' } );
262
262
};
263
263
` ) ;
264
264
expect ( result . content ) . toBeSimilarStringTo ( `
265
265
export type ResolversUnionParentTypes = {
266
- ChildUnion: ( Child & { __typename: " Child" } ) | ( MyOtherType & { __typename: " MyOtherType" } );
267
- MyUnion: ( Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversParentTypes['ChildUnion']> } & { __typename: " MyType" } ) | ( MyOtherType & { __typename: " MyOtherType" } );
266
+ ChildUnion: ( Child & { __typename: ' Child' } ) | ( MyOtherType & { __typename: ' MyOtherType' } );
267
+ MyUnion: ( Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversParentTypes['ChildUnion']> } & { __typename: ' MyType' } ) | ( MyOtherType & { __typename: ' MyOtherType' } );
268
268
};
269
269
` ) ;
270
270
} ) ;
271
+
272
+ it ( 'resolversNonOptionalTypename - adds non-optional typenames to ResolversUnionTypes for mappers with no placeholder' , async ( ) => {
273
+ const result = await plugin (
274
+ resolversTestingSchema ,
275
+ [ ] ,
276
+ {
277
+ resolversNonOptionalTypename : { unionMember : true } ,
278
+ mappers : { Child : 'ChildMapper' , MyType : 'MyTypeMapper' } ,
279
+ } ,
280
+ { outputFile : '' }
281
+ ) ;
282
+
283
+ expect ( result . content ) . toBeSimilarStringTo ( `
284
+ export type ResolversUnionTypes = {
285
+ ChildUnion: ( ChildMapper & { __typename: 'Child' } ) | ( MyOtherType & { __typename: 'MyOtherType' } );
286
+ MyUnion: ( MyTypeMapper & { __typename: 'MyType' } ) | ( MyOtherType & { __typename: 'MyOtherType' } );
287
+ };
288
+ ` ) ;
289
+ expect ( result . content ) . toBeSimilarStringTo ( `
290
+ export type ResolversUnionParentTypes = {
291
+ ChildUnion: ( ChildMapper & { __typename: 'Child' } ) | ( MyOtherType & { __typename: 'MyOtherType' } );
292
+ MyUnion: ( MyTypeMapper & { __typename: 'MyType' } ) | ( MyOtherType & { __typename: 'MyOtherType' } );
293
+ };
294
+ ` ) ;
295
+ } ) ;
296
+
297
+ it ( 'resolversNonOptionalTypename - adds non-optional typenames to ResolversUnionTypes for mappers with placeholder' , async ( ) => {
298
+ const result = await plugin (
299
+ resolversTestingSchema ,
300
+ [ ] ,
301
+ {
302
+ resolversNonOptionalTypename : { unionMember : true } ,
303
+ mappers : { Child : 'Wrapper<{T}>' , MyType : 'MyWrapper<{T}>' } ,
304
+ } ,
305
+ { outputFile : '' }
306
+ ) ;
307
+
308
+ expect ( result . content ) . toBeSimilarStringTo ( `
309
+ export type ResolversUnionTypes = {
310
+ ChildUnion: ( Wrapper<Omit<Child, 'parent'> & { parent?: Maybe<ResolversTypes['MyType']> }> & { __typename: 'Child' } ) | ( MyOtherType & { __typename: 'MyOtherType' } );
311
+ MyUnion: ( MyWrapper<Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversTypes['ChildUnion']> }> & { __typename: 'MyType' } ) | ( MyOtherType & { __typename: 'MyOtherType' } );
312
+ };
313
+ ` ) ;
314
+ expect ( result . content ) . toBeSimilarStringTo ( `
315
+ export type ResolversUnionParentTypes = {
316
+ ChildUnion: ( Wrapper<Omit<Child, 'parent'> & { parent?: Maybe<ResolversParentTypes['MyType']> }> & { __typename: 'Child' } ) | ( MyOtherType & { __typename: 'MyOtherType' } );
317
+ MyUnion: ( MyWrapper<Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversParentTypes['ChildUnion']> }> & { __typename: 'MyType' } ) | ( MyOtherType & { __typename: 'MyOtherType' } );
318
+ };
319
+ ` ) ;
320
+ } ) ;
321
+
322
+ it ( 'resolversNonOptionalTypename - adds non-optional typenames to ResolversUnionTypes for default mappers with placeholder' , async ( ) => {
323
+ const result = await plugin (
324
+ resolversTestingSchema ,
325
+ [ ] ,
326
+ {
327
+ resolversNonOptionalTypename : { unionMember : true } ,
328
+ defaultMapper : 'Partial<{T}>' ,
329
+ } ,
330
+ { outputFile : '' }
331
+ ) ;
332
+
333
+ expect ( result . content ) . toBeSimilarStringTo ( `
334
+ export type ResolversUnionTypes = {
335
+ ChildUnion: ( Partial<Child> & { __typename: 'Child' } ) | ( Partial<MyOtherType> & { __typename: 'MyOtherType' } );
336
+ MyUnion: ( Partial<Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversTypes['ChildUnion']> }> & { __typename: 'MyType' } ) | ( Partial<MyOtherType> & { __typename: 'MyOtherType' } );
337
+ };
338
+ ` ) ;
339
+ expect ( result . content ) . toBeSimilarStringTo ( `
340
+ export type ResolversUnionParentTypes = {
341
+ ChildUnion: ( Partial<Child> & { __typename: 'Child' } ) | ( Partial<MyOtherType> & { __typename: 'MyOtherType' } );
342
+ MyUnion: ( Partial<Omit<MyType, 'unionChild'> & { unionChild?: Maybe<ResolversParentTypes['ChildUnion']> }> & { __typename: 'MyType' } ) | ( Partial<MyOtherType> & { __typename: 'MyOtherType' } );
343
+ };
344
+ ` ) ;
345
+ } ) ;
346
+
347
+ it ( 'resolversNonOptionalTypename - does not create ResolversUnionTypes for default mappers with no placeholder' , async ( ) => {
348
+ const result = await plugin (
349
+ resolversTestingSchema ,
350
+ [ ] ,
351
+ {
352
+ resolversNonOptionalTypename : { unionMember : true } ,
353
+ defaultMapper : '{}' ,
354
+ } ,
355
+ { outputFile : '' }
356
+ ) ;
357
+
358
+ expect ( result . content ) . not . toBeSimilarStringTo ( 'export type ResolversUnionTypes' ) ;
359
+ expect ( result . content ) . not . toBeSimilarStringTo ( 'export type ResolversUnionParentTypes' ) ;
360
+ } ) ;
271
361
} ) ;
272
362
273
363
it ( 'directiveResolverMappings - should generate correct types (import definition)' , async ( ) => {
0 commit comments