fix agg config sub agg dsl generation (#93276)

This commit is contained in:
Peter Pisljar 2021-03-04 21:59:25 +01:00 committed by GitHub
parent e45718d0ff
commit a58e3bdbbf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 150 additions and 101 deletions

View file

@ -5434,8 +5434,8 @@
],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 259,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L259"
"lineNumber": 263,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L263"
}
},
{
@ -5461,8 +5461,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 290,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L290"
"lineNumber": 294,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L294"
}
},
{
@ -5482,8 +5482,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 301,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L301"
"lineNumber": 305,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L305"
}
},
{
@ -5509,8 +5509,8 @@
],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 310,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L310"
"lineNumber": 314,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L314"
}
},
{
@ -5542,8 +5542,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 365,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L365"
"lineNumber": 369,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L369"
}
},
{
@ -5567,8 +5567,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 369,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L369"
"lineNumber": 373,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L373"
}
},
{
@ -5592,8 +5592,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 373,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L373"
"lineNumber": 377,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L377"
}
},
{
@ -5615,8 +5615,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 377,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L377"
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
}
}
],
@ -5624,8 +5624,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 377,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L377"
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
}
},
{
@ -5647,8 +5647,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
"lineNumber": 385,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L385"
}
},
{
@ -5661,8 +5661,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
"lineNumber": 385,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L385"
}
}
],
@ -5670,8 +5670,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
"lineNumber": 385,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L385"
}
},
{
@ -5687,8 +5687,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 389,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L389"
"lineNumber": 393,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L393"
}
},
{
@ -5704,8 +5704,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 395,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L395"
"lineNumber": 399,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L399"
}
},
{
@ -5723,8 +5723,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 404,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L404"
"lineNumber": 408,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L408"
}
},
{
@ -5746,8 +5746,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 408,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L408"
"lineNumber": 412,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L412"
}
}
],
@ -5755,8 +5755,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 408,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L408"
"lineNumber": 412,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L412"
}
},
{
@ -5779,8 +5779,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 422,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L422"
"lineNumber": 426,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L426"
}
},
{
@ -5804,8 +5804,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 426,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L426"
"lineNumber": 430,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L430"
}
},
{
@ -5821,8 +5821,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 430,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L430"
"lineNumber": 434,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L434"
}
},
{
@ -5838,8 +5838,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 435,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L435"
"lineNumber": 439,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L439"
}
},
{
@ -5850,8 +5850,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 442,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L442"
"lineNumber": 446,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L446"
},
"signature": [
{
@ -5871,8 +5871,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 446,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L446"
"lineNumber": 450,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L450"
},
"signature": [
{
@ -5917,8 +5917,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 476,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L476"
"lineNumber": 480,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L480"
}
}
],
@ -5926,8 +5926,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 476,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L476"
"lineNumber": 480,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L480"
}
}
],

View file

@ -2876,8 +2876,8 @@
],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 259,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L259"
"lineNumber": 263,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L263"
}
},
{
@ -2903,8 +2903,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 290,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L290"
"lineNumber": 294,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L294"
}
},
{
@ -2924,8 +2924,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 301,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L301"
"lineNumber": 305,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L305"
}
},
{
@ -2951,8 +2951,8 @@
],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 310,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L310"
"lineNumber": 314,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L314"
}
},
{
@ -2984,8 +2984,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 365,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L365"
"lineNumber": 369,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L369"
}
},
{
@ -3009,8 +3009,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 369,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L369"
"lineNumber": 373,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L373"
}
},
{
@ -3034,8 +3034,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 373,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L373"
"lineNumber": 377,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L377"
}
},
{
@ -3057,8 +3057,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 377,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L377"
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
}
}
],
@ -3066,8 +3066,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 377,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L377"
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
}
},
{
@ -3089,8 +3089,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
"lineNumber": 385,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L385"
}
},
{
@ -3103,8 +3103,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
"lineNumber": 385,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L385"
}
}
],
@ -3112,8 +3112,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 381,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L381"
"lineNumber": 385,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L385"
}
},
{
@ -3129,8 +3129,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 389,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L389"
"lineNumber": 393,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L393"
}
},
{
@ -3146,8 +3146,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 395,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L395"
"lineNumber": 399,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L399"
}
},
{
@ -3165,8 +3165,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 404,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L404"
"lineNumber": 408,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L408"
}
},
{
@ -3188,8 +3188,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 408,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L408"
"lineNumber": 412,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L412"
}
}
],
@ -3197,8 +3197,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 408,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L408"
"lineNumber": 412,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L412"
}
},
{
@ -3221,8 +3221,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 422,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L422"
"lineNumber": 426,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L426"
}
},
{
@ -3246,8 +3246,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 426,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L426"
"lineNumber": 430,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L430"
}
},
{
@ -3263,8 +3263,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 430,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L430"
"lineNumber": 434,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L434"
}
},
{
@ -3280,8 +3280,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 435,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L435"
"lineNumber": 439,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L439"
}
},
{
@ -3292,8 +3292,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 442,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L442"
"lineNumber": 446,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L446"
},
"signature": [
{
@ -3313,8 +3313,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 446,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L446"
"lineNumber": 450,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L450"
},
"signature": [
{
@ -3359,8 +3359,8 @@
"description": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 476,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L476"
"lineNumber": 480,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L480"
}
}
],
@ -3368,8 +3368,8 @@
"returnComment": [],
"source": {
"path": "src/plugins/data/common/search/aggs/agg_config.ts",
"lineNumber": 476,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L476"
"lineNumber": 480,
"link": "https://github.com/elastic/kibana/tree/mastersrc/plugins/data/common/search/aggs/agg_config.ts#L480"
}
}
],

View file

@ -141,6 +141,51 @@ describe('AggConfig', () => {
expect(dsl.aggs[avgConfig.id]).toHaveProperty('avg');
expect(dsl.aggs[avgConfig.id].avg).toBe(football);
});
it('merges subAggs from #write() output to the current subaggs', () => {
const configStates = [
{
enabled: true,
type: 'avg',
schema: 'metric',
params: {},
},
{
enabled: true,
type: 'median',
schema: 'metric',
params: {},
},
{
enabled: true,
type: 'date_histogram',
schema: 'segment',
params: {},
},
];
const ac = new AggConfigs(indexPattern, configStates, { typesRegistry });
const histoConfig = ac.byName('date_histogram')[0];
const avgConfig = ac.byName('avg')[0];
const medianConfig = ac.byName('median')[0];
const football = {};
jest
.spyOn(histoConfig, 'write')
.mockImplementation(() => ({ params: {}, subAggs: [avgConfig] }));
jest.spyOn(avgConfig, 'write').mockImplementation(() => ({ params: football }));
jest.spyOn(medianConfig, 'write').mockImplementation(() => ({ params: football }));
(histoConfig as any).subAggs = [medianConfig];
const dsl = histoConfig.toDsl();
expect(dsl).toHaveProperty('aggs');
expect(dsl.aggs).toHaveProperty(avgConfig.id);
expect(dsl.aggs[avgConfig.id]).toHaveProperty('avg');
expect(dsl.aggs[avgConfig.id].avg).toBe(football);
expect(dsl.aggs).toHaveProperty(medianConfig.id);
expect(dsl.aggs[medianConfig.id]).toHaveProperty('percentiles');
expect(dsl.aggs[medianConfig.id].percentiles).toBe(football);
});
});
describe('::ensureIds', () => {

View file

@ -235,7 +235,11 @@ export class AggConfig {
configDsl[this.type.dslName || this.type.name] = output.params;
// if the config requires subAggs, write them to the dsl as well
if (this.subAggs.length && !output.subAggs) output.subAggs = this.subAggs;
if (this.subAggs.length) {
if (!output.subAggs) output.subAggs = this.subAggs;
else output.subAggs.push(...this.subAggs);
}
if (output.subAggs) {
const subDslLvl = configDsl.aggs || (configDsl.aggs = {});
output.subAggs.forEach(function nestAdhocSubAggs(subAggConfig: any) {