package mite import ( "encoding/json" "testing" ) func TestUnmarshalTimeTracking(t *testing.T) { trackerOn := []byte(` { "tracker": { "tracking_time_entry": { "id": 36135321, "minutes": 247, "since": "2015-10-15T17:05:04+02:00" } } }`) trackerOff := []byte(`{ "tracker": {} }`) off := apiTimeTrackerEntry{} err := json.Unmarshal(trackerOff, &off) if err != nil { t.Error(err) } else { if off.TimeTrackerHolder.TrackingTimeEntry != nil { t.Error("expected nil, but is not") } } on := apiTimeTrackerEntry{} err = json.Unmarshal(trackerOn, &on) if err != nil { t.Error(err) } else { if on.TimeTrackerHolder.TrackingTimeEntry == nil { t.Error("expected note nil, but is not") } else { if on.TimeTrackerHolder.TrackingTimeEntry.ID != 36135321 { t.Error("bad unmarshal?") } } } }