Skip to content

Commit e67e440

Browse files
committed
fix: func flatten_objects_for_count
Fix function flatten_objects_for_count Update Tests
1 parent 8caad44 commit e67e440

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

server/src/query.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,11 @@ pub fn flatten_objects_for_count(objects: Vec<Value>) -> Vec<Value> {
307307
.unwrap()
308308
.keys()
309309
.all(|key| key.starts_with("COUNT"))
310+
}) && objects.iter().all(|obj| {
311+
obj.as_object()
312+
.unwrap()
313+
.keys()
314+
.all(|key| key == objects[0].as_object().unwrap().keys().next().unwrap())
310315
});
311316

312317
if flag {
@@ -365,7 +370,7 @@ mod tests {
365370
}
366371

367372
#[test]
368-
fn test_flat() {
373+
fn test_flat_simple() {
369374
let val = vec![
370375
json!({
371376
"COUNT(*)": 1
@@ -390,12 +395,19 @@ mod tests {
390395
}
391396

392397
#[test]
393-
fn test_flat_single() {
398+
fn test_flat_same_multi() {
394399
let val = vec![json!({"COUNT(ALPHA)": 1}), json!({"COUNT(ALPHA)": 2})];
395400
let out = flatten_objects_for_count(val.clone());
396401
assert_eq!(vec![json!({"COUNT(ALPHA)": 3})], out);
397402
}
398403

404+
#[test]
405+
fn test_flat_diff_multi() {
406+
let val = vec![json!({"COUNT(ALPHA)": 1}), json!({"COUNT(BETA)": 2})];
407+
let out = flatten_objects_for_count(val.clone());
408+
assert_eq!(out, val);
409+
}
410+
399411
#[test]
400412
fn test_flat_fail() {
401413
let val = vec![

0 commit comments

Comments
 (0)