github.com/99designs/gqlgen@v0.17.45/graphql/duration_test.go (about) 1 package graphql 2 3 import ( 4 "bytes" 5 "testing" 6 "time" 7 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func TestDurationMarshaling(t *testing.T) { 12 t.Run("UnmarshalDuration", func(t *testing.T) { 13 d, err := UnmarshalDuration("P2Y") 14 assert.NoError(t, err) 15 16 assert.Equal(t, float64(365*24*2), d.Hours()) 17 }) 18 t.Run("MarshalDuration", func(t *testing.T) { 19 m := MarshalDuration(time.Hour * 365 * 24 * 2) 20 21 buf := new(bytes.Buffer) 22 m.MarshalGQL(buf) 23 24 assert.Equal(t, "\"P2Y\"", buf.String()) 25 }) 26 }