github.com/altipla-consulting/ravendb-go-client@v0.1.3/time_test.go (about) 1 package ravendb 2 3 import ( 4 "encoding/json" 5 "strings" 6 "testing" 7 "time" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestTime(t *testing.T) { 13 { 14 var tt time.Time 15 d, err := json.Marshal(Time(tt)) 16 assert.NoError(t, err) 17 s := string(d) 18 assert.Equal(t, `"0001-01-01T00:00:00.0000000Z"`, s) 19 } 20 21 { 22 tt := time.Now() 23 d, err := json.Marshal(Time(tt)) 24 assert.NoError(t, err) 25 s := string(d) 26 parts := strings.Split(s, ".") 27 fracPart := parts[len(parts)-1] 28 assert.Equal(t, 9, len(fracPart)) // 9 = 7 digits + Z + " 29 assert.True(t, strings.HasSuffix(s, `Z"`)) 30 } 31 32 { 33 tt, err := time.Parse("2006-01-02T15:04:05.9999999Z", "2018-12-17T18:08:34.069973Z") 34 assert.NoError(t, err) 35 d, err := json.Marshal(Time(tt)) 36 assert.NoError(t, err) 37 s := string(d) 38 parts := strings.Split(s, ".") 39 fracPart := parts[len(parts)-1] 40 assert.Equal(t, 9, len(fracPart)) // 9 = 7 digits + Z + " 41 assert.True(t, strings.HasSuffix(s, `Z"`)) 42 } 43 44 }