83 lines
1.6 KiB
Go
83 lines
1.6 KiB
Go
package mite
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
)
|
|
|
|
func TestUnmarshalTimeTracking(t *testing.T) {
|
|
|
|
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")
|
|
}
|
|
}
|
|
trackerOn := []byte(`
|
|
{
|
|
"tracker": {
|
|
"tracking_time_entry": {
|
|
"id": 36135321,
|
|
"minutes": 247,
|
|
"since": "2015-10-15T17:05:04+02:00"
|
|
}
|
|
}
|
|
}`)
|
|
on := apiTimeTrackerEntry{}
|
|
err = json.Unmarshal(trackerOn, &on)
|
|
if err != nil {
|
|
t.Error(err)
|
|
} else {
|
|
if on.TimeTrackerHolder.TrackingTimeEntry == nil {
|
|
t.Error("expected not nil, but is not")
|
|
} else {
|
|
if on.TimeTrackerHolder.TrackingTimeEntry.ID != 36135321 {
|
|
t.Error("bad unmarshal?")
|
|
}
|
|
}
|
|
}
|
|
|
|
trackerStart := []byte(`{
|
|
"tracker": {
|
|
"tracking_time_entry": {
|
|
"id": 36135322,
|
|
"minutes": 0,
|
|
"since": "2015-10-15T17:33:52+02:00"
|
|
},
|
|
"stopped_time_entry": {
|
|
"id": 36134329,
|
|
"minutes": 46
|
|
}
|
|
}
|
|
}`)
|
|
start := apiTimeTrackerEntry{}
|
|
err = json.Unmarshal(trackerStart, &start)
|
|
if err != nil {
|
|
t.Error(err)
|
|
} else {
|
|
if start.TimeTrackerHolder.TrackingTimeEntry == nil {
|
|
t.Error("expected not nil, but is not")
|
|
} else {
|
|
if start.TimeTrackerHolder.TrackingTimeEntry.ID != 36135322 {
|
|
t.Error("bad unmarshal?")
|
|
}
|
|
}
|
|
|
|
if start.TimeTrackerHolder.StoppedTimeEntry == nil {
|
|
t.Error("expected not nil, but is nil")
|
|
} else {
|
|
if start.TimeTrackerHolder.StoppedTimeEntry.ID != 36134329 {
|
|
t.Error("bad unmarshal")
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|