(t *testing.T)
| 64 | } |
| 65 | |
| 66 | func TestMarshalPayloadWithNulls(t *testing.T) { |
| 67 | books := []*Book{nil, {ID: 101}, nil} |
| 68 | var jsonData map[string]interface{} |
| 69 | |
| 70 | out := bytes.NewBuffer(nil) |
| 71 | if err := MarshalPayload(out, books); err != nil { |
| 72 | t.Fatal(err) |
| 73 | } |
| 74 | |
| 75 | if err := json.Unmarshal(out.Bytes(), &jsonData); err != nil { |
| 76 | t.Fatal(err) |
| 77 | } |
| 78 | raw, ok := jsonData["data"] |
| 79 | if !ok { |
| 80 | t.Fatalf("data key does not exist") |
| 81 | } |
| 82 | arr, ok := raw.([]interface{}) |
| 83 | if !ok { |
| 84 | t.Fatalf("data is not an Array") |
| 85 | } |
| 86 | for i := 0; i < len(arr); i++ { |
| 87 | if books[i] == nil && arr[i] != nil || |
| 88 | books[i] != nil && arr[i] == nil { |
| 89 | t.Fatalf("restored data is not equal to source") |
| 90 | } |
| 91 | } |
| 92 | } |
| 93 | |
| 94 | func TestMarshal_attrStringSlice(t *testing.T) { |
| 95 | tags := []string{"fiction", "sale"} |
nothing calls this directly
no test coverage detected
searching dependent graphs…