package response import "testing" func TestWithDataWrapsSlicesAndMergesExtra(t *testing.T) { resp := WithData([]string{"a", "b"}, map[string]interface{}{ "total": 2, "page": 1, }) data, ok := resp.Data.(map[string]interface{}) if !ok { t.Fatalf("expected map payload, got %T", resp.Data) } if data["total"] != 2 { t.Fatalf("expected total=2, got %v", data["total"]) } items, ok := data["items"].([]string) if !ok || len(items) != 2 { t.Fatalf("expected items slice to be preserved, got %#v", data["items"]) } } func TestWithDataPreservesMapPayload(t *testing.T) { resp := WithData(map[string]interface{}{"user": "alice"}, map[string]interface{}{"page": 1}) data := resp.Data.(map[string]interface{}) if data["user"] != "alice" { t.Fatalf("expected user=alice, got %v", data["user"]) } if data["page"] != 1 { t.Fatalf("expected page=1, got %v", data["page"]) } }