github.com/maeglindeveloper/gqlgen@v0.13.1-0.20210413081235-57808b12a0a0/example/selection/selection_test.go (about)

     1  package selection
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/99designs/gqlgen/client"
     7  	"github.com/99designs/gqlgen/graphql/handler"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestSelection(t *testing.T) {
    12  	c := client.New(handler.NewDefaultServer(NewExecutableSchema(Config{Resolvers: &Resolver{}})))
    13  
    14  	query := `{
    15  			events {
    16  				selection
    17  				collected
    18  
    19  				... on Post {
    20  					message
    21  					sent
    22  				}
    23  
    24  				...LikeFragment
    25  			}
    26  		}
    27  		fragment LikeFragment on Like { reaction sent }
    28  		`
    29  
    30  	var resp struct {
    31  		Events []struct {
    32  			Selection []string
    33  			Collected []string
    34  
    35  			Message  string
    36  			Reaction string
    37  			Sent     string
    38  		}
    39  	}
    40  	c.MustPost(query, &resp)
    41  
    42  	require.Equal(t, []string{
    43  		"selection as selection",
    44  		"collected as collected",
    45  		"inline fragment on Post",
    46  		"named fragment LikeFragment on Like",
    47  	}, resp.Events[0].Selection)
    48  
    49  	require.Equal(t, []string{
    50  		"selection as selection",
    51  		"collected as collected",
    52  		"reaction as reaction",
    53  		"sent as sent",
    54  	}, resp.Events[0].Collected)
    55  }