@@ -256,6 +256,27 @@ void serialize_withResponseProjectionAndParametrizedInputAndAlias(String name,
256256 assertEquals (expectedQueryDecorator .apply (expectedQueryStr ), serializedQuery );
257257 }
258258
259+ @ ParameterizedTest (name = "{0}" )
260+ @ MethodSource ("provideAllSerializers" )
261+ void serialize_withCustomOpertionName (String name , Function <GraphQLRequest , String > serializer ,
262+ Function <String , String > expectedQueryDecorator ) {
263+ EventsByIdsQueryRequest request = new EventsByIdsQueryRequest .Builder ()
264+ .setContextId ("something" )
265+ .setIds (null )
266+ .setTranslated (false )
267+ .build ();
268+ GraphQLRequest graphQLRequest = new GraphQLRequest (
269+ "customOperationName" ,
270+ request ,
271+ new EventResponseProjection ()
272+ .id ()
273+ );
274+ String serializedQuery = serializer .apply (graphQLRequest ).replaceAll (" +" , " " ).trim ();
275+ String expectedQueryStr = "query customOperationName { " +
276+ "eventsByIds(contextId: \" something\" , translated: false){ id } }" ;
277+ assertEquals (expectedQueryDecorator .apply (expectedQueryStr ), serializedQuery );
278+ }
279+
259280 @ ParameterizedTest (name = "{0}" )
260281 @ MethodSource ("provideAllSerializers" )
261282 void serialize_complexRequestWithDefaultData (String name , Function <GraphQLRequest , String > serializer ,
@@ -505,6 +526,38 @@ void serialize_multipleRequests(String name, Function<GraphQLRequests, String> s
505526 assertEquals (expectedQueryDecorator .apply (expectedQueryStr ), serializedQuery );
506527 }
507528
529+ @ ParameterizedTest (name = "{0}" )
530+ @ MethodSource ("provideStaticSerializerForMultiRequest" )
531+ void serialize_multipleRequestsWithCustomOperationName (String name , Function <GraphQLRequests , String > serializer ,
532+ Function <String , String > expectedQueryDecorator ) {
533+ EventsByCategoryAndStatusQueryRequest request1 = new EventsByCategoryAndStatusQueryRequest .Builder ()
534+ .alias ("req1" ).setStatus (Status .OPEN ).build ();
535+ GraphQLRequest graphQLRequest1 = new GraphQLRequest (request1 , new EventResponseProjection ().id ());
536+
537+ EventsByCategoryAndStatusQueryRequest request2 = new EventsByCategoryAndStatusQueryRequest ("req2" );
538+ GraphQLRequest graphQLRequest2 = new GraphQLRequest (request2 , new EventResponseProjection ().id ().status ());
539+
540+ EventsByCategoryAndStatusQueryRequest request21 = new EventsByCategoryAndStatusQueryRequest ();
541+ GraphQLRequest graphQLRequest21 = new GraphQLRequest (request21 );
542+
543+ GraphQLRequests requests = new GraphQLRequests (
544+ "customOperationName" ,
545+ graphQLRequest1 ,
546+ graphQLRequest2 ,
547+ graphQLRequest21
548+ );
549+
550+ String serializedQuery = serializer
551+ .apply (requests ).replaceAll (" +" , " " )
552+ .trim ();
553+ String expectedQueryStr = "query customOperationName { " +
554+ "req1: eventsByCategoryAndStatus(status: OPEN){ id } " +
555+ "req2: eventsByCategoryAndStatus{ id status } " +
556+ "eventsByCategoryAndStatus " +
557+ "}" ;
558+ assertEquals (expectedQueryDecorator .apply (expectedQueryStr ), serializedQuery );
559+ }
560+
508561 @ ParameterizedTest (name = "{0}" )
509562 @ MethodSource ("provideStaticSerializerForMultiRequest" )
510563 void serialize_multipleRequests_DiffTypes (String name , Function <GraphQLRequests , String > serializer ,
0 commit comments