package exporter import ( "strings" "testing" "server/internal/schema" ) func TestBuildSQL_FieldOrderAndCount_YMT(t *testing.T) { wl := schema.AllWhitelist() req := BuildRequest{ MainTable: "order_info", Datasource: "ymt", Fields: []string{ "order.order_number", "order.merchant_name", "merchant.name", "order.pay_amount", }, Filters: map[string]interface{}{"type_eq": 2}, } sql, _, err := BuildSQL(req, wl) if err != nil { t.Fatalf("build sql error: %v", err) } // count aliases parts := strings.Split(sql, " AS `") // first part is before first alias aliasCount := len(parts) - 1 if aliasCount != len(req.Fields) { t.Fatalf("alias count %d != fields %d", aliasCount, len(req.Fields)) } }