github.com/maeglindeveloper/gqlgen@v0.13.1-0.20210413081235-57808b12a0a0/graphql/handler/transport/options_test.go (about)

     1  package transport_test
     2  
     3  import (
     4  	"net/http"
     5  	"testing"
     6  
     7  	"github.com/99designs/gqlgen/graphql/handler/testserver"
     8  	"github.com/99designs/gqlgen/graphql/handler/transport"
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestOptions(t *testing.T) {
    13  	h := testserver.New()
    14  	h.AddTransport(transport.Options{})
    15  
    16  	t.Run("responds to options requests", func(t *testing.T) {
    17  		resp := doRequest(h, "OPTIONS", "/graphql?query={me{name}}", ``)
    18  		assert.Equal(t, http.StatusOK, resp.Code)
    19  		assert.Equal(t, "OPTIONS, GET, POST", resp.Header().Get("Allow"))
    20  	})
    21  
    22  	t.Run("responds to head requests", func(t *testing.T) {
    23  		resp := doRequest(h, "HEAD", "/graphql?query={me{name}}", ``)
    24  		assert.Equal(t, http.StatusMethodNotAllowed, resp.Code)
    25  	})
    26  }