@ -5,9 +5,8 @@ import { toDataFrame } from '../../dataframe';
import { transformDataFrame } from '../transformDataFrame' ;
import { ArrayVector } from '../../vector' ;
import { mergeTransformer , MergeTransformerOptions } from './merge' ;
import { observableTester } from '../../utils/tests/observableTester' ;
describe ( 'Merge multipe to single' , ( ) = > {
describe ( 'Merge multipl e to single' , ( ) = > {
const cfg : DataTransformerConfig < MergeTransformerOptions > = {
id : DataTransformerID.merge ,
options : { } ,
@ -17,7 +16,7 @@ describe('Merge multipe to single', () => {
mockTransformationsRegistry ( [ mergeTransformer ] ) ;
} ) ;
it ( 'combine two series into one' , done = > {
it ( 'combine two series into one' , async ( ) = > {
const seriesA = toDataFrame ( {
name : 'A' ,
fields : [
@ -34,21 +33,18 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ seriesA , seriesB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 1000 , 2000 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , - 1 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ seriesA , seriesB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 1000 , 2000 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , - 1 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ,
done ,
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine two series with multiple values into one' , done = > {
it ( 'combine two series with multiple values into one' , async ( ) = > {
const seriesA = toDataFrame ( {
name : 'A' ,
fields : [
@ -65,21 +61,18 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ seriesA , seriesB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ seriesA , seriesB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ,
done ,
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine three series into one' , done = > {
it ( 'combine three series into one' , async ( ) = > {
const seriesA = toDataFrame ( {
name : 'A' ,
fields : [
@ -104,21 +97,18 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ seriesA , seriesB , seriesC ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 1000 , 2000 , 500 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , - 1 , 2 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ seriesA , seriesB , seriesC ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 1000 , 2000 , 500 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , - 1 , 2 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ,
done ,
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine one serie and two tables into one table' , done = > {
it ( 'combine one serie and two tables into one table' , async ( ) = > {
const tableA = toDataFrame ( {
name : 'A' ,
fields : [
@ -145,22 +135,19 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ tableA , seriesB , tableB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 1000 , 1000 , 500 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , - 1 , 2 ] ) ,
createField ( 'Humidity' , FieldType . number , [ 10 , null , 5 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ tableA , seriesB , tableB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 1000 , 1000 , 500 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , - 1 , 2 ] ) ,
createField ( 'Humidity' , FieldType . number , [ 10 , null , 5 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ,
done ,
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine one serie and two tables with ISO dates into one table' , done = > {
it ( 'combine one serie and two tables with ISO dates into one table' , async ( ) = > {
const tableA = toDataFrame ( {
name : 'A' ,
fields : [
@ -187,22 +174,19 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ tableA , seriesB , tableC ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ '2019-10-01T11:10:23Z' , '2019-09-01T11:10:23Z' , '2019-11-01T11:10:23Z' ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , - 1 , 2 ] ) ,
createField ( 'Humidity' , FieldType . number , [ 10 , null , 5 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ tableA , seriesB , tableC ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ '2019-10-01T11:10:23Z' , '2019-09-01T11:10:23Z' , '2019-11-01T11:10:23Z' ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , - 1 , 2 ] ) ,
createField ( 'Humidity' , FieldType . number , [ 10 , null , 5 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ,
done ,
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine two tables, where first is partial overlapping, into one' , done = > {
it ( 'combine two tables, where first is partial overlapping, into one' , async ( ) = > {
const tableA = toDataFrame ( {
name : 'A' ,
fields : [
@ -228,39 +212,36 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ tableA , tableB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Country' , FieldType . string , [
'United States' ,
'United States' ,
'Mexico' ,
'Germany' ,
'Canada' ,
'Canada' ,
null ,
] ) ,
createField ( 'AgeGroup' , FieldType . string , [
'50 or over' ,
'35 - 49' ,
'0 - 17' ,
'35 - 49' ,
'35 - 49' ,
'25 - 34' ,
'18 - 24' ,
] ) ,
createField ( 'Sum' , FieldType . number , [ 998 , 1193 , 1675 , 146 , 166 , 219 , null ] ) ,
createField ( 'Count' , FieldType . number , [ 2 , 4 , 1 , 4 , 4 , 2 , 3 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ,
done ,
await expect ( transformDataFrame ( [ cfg ] , [ tableA , tableB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Country' , FieldType . string , [
'United States' ,
'United States' ,
'Mexico' ,
'Germany' ,
'Canada' ,
'Canada' ,
null ,
] ) ,
createField ( 'AgeGroup' , FieldType . string , [
'50 or over' ,
'35 - 49' ,
'0 - 17' ,
'35 - 49' ,
'35 - 49' ,
'25 - 34' ,
'18 - 24' ,
] ) ,
createField ( 'Sum' , FieldType . number , [ 998 , 1193 , 1675 , 146 , 166 , 219 , null ] ) ,
createField ( 'Count' , FieldType . number , [ 2 , 4 , 1 , 4 , 4 , 2 , 3 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine two tables, where second is partial overlapping, into one' , done = > {
it ( 'combine two tables, where second is partial overlapping, into one' , async ( ) = > {
/ * *
* This behavior feels wrong . I would expect the same behavior regardless of the order
* of the frames . But when testing the old table panel it had this behavior so I am
@ -291,39 +272,36 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ tableA , tableB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'AgeGroup' , FieldType . string , [
'0 - 17' ,
'18 - 24' ,
'25 - 34' ,
'35 - 49' ,
'50 or over' ,
'35 - 49' ,
'35 - 49' ,
] ) ,
createField ( 'Count' , FieldType . number , [ 1 , 3 , 2 , 4 , 2 , null , null ] ) ,
createField ( 'Country' , FieldType . string , [
'Mexico' ,
null ,
'Canada' ,
'United States' ,
'United States' ,
'Germany' ,
'Canada' ,
] ) ,
createField ( 'Sum' , FieldType . number , [ 1675 , null , 219 , 1193 , 998 , 146 , 166 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ,
done ,
await expect ( transformDataFrame ( [ cfg ] , [ tableA , tableB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'AgeGroup' , FieldType . string , [
'0 - 17' ,
'18 - 24' ,
'25 - 34' ,
'35 - 49' ,
'50 or over' ,
'35 - 49' ,
'35 - 49' ,
] ) ,
createField ( 'Count' , FieldType . number , [ 1 , 3 , 2 , 4 , 2 , null , null ] ) ,
createField ( 'Country' , FieldType . string , [
'Mexico' ,
null ,
'Canada' ,
'United States' ,
'United States' ,
'Germany' ,
'Canada' ,
] ) ,
createField ( 'Sum' , FieldType . number , [ 1675 , null , 219 , 1193 , 998 , 146 , 166 ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine three tables with multiple values into one' , done = > {
it ( 'combine three tables with multiple values into one' , async ( ) = > {
const tableA = toDataFrame ( {
name : 'A' ,
fields : [
@ -351,23 +329,20 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ tableA , tableB , tableC ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 , 100 , 124 , 149 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 , 1 , 4 , 5 ] ) ,
createField ( 'Humidity' , FieldType . number , [ 10 , 14 , 55 , null , null , null , 22 , 25 , 30 ] ) ,
createField ( 'Enabled' , FieldType . boolean , [ null , null , null , true , false , true , null , null , null ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ tableA , tableB , tableC ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 , 100 , 124 , 149 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 , 1 , 4 , 5 ] ) ,
createField ( 'Humidity' , FieldType . number , [ 10 , 14 , 55 , null , null , null , 22 , 25 , 30 ] ) ,
createField ( 'Enabled' , FieldType . boolean , [ null , null , null , true , false , true , null , null , null ] ) ,
] ;
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ,
done ,
expect ( unwrap ( result [ 0 ] . fields ) ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine two time series, where first serie fields has displayName, into one' , done = > {
it ( 'combine two time series, where first serie fields has displayName, into one' , async ( ) = > {
const serieA = toDataFrame ( {
name : 'A' ,
fields : [
@ -384,24 +359,21 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] ) ,
] ;
const fields = unwrap ( result [ 0 ] . fields ) ;
const fields = unwrap ( result [ 0 ] . fields ) ;
expect ( fields [ 1 ] . config ) . toEqual ( { } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ,
done ,
expect ( fields [ 1 ] . config ) . toEqual ( { } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine two time series, where first serie fields has display processor, into one' , done = > {
it ( 'combine two time series, where first serie fields has display processor, into one' , async ( ) = > {
const displayProcessor : DisplayProcessor = jest . fn ( ) ;
const serieA = toDataFrame ( {
@ -420,24 +392,21 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] , { } , displayProcessor ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] , { } , displayProcessor ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] ) ,
] ;
const fields = unwrap ( result [ 0 ] . fields ) ;
const fields = unwrap ( result [ 0 ] . fields ) ;
expect ( fields [ 0 ] . display ) . toBe ( displayProcessor ) ;
expect ( fields ) . toEqual ( expected ) ;
} ,
done ,
expect ( fields [ 0 ] . display ) . toBe ( displayProcessor ) ;
expect ( fields ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine two time series, where first serie fields has units, into one' , done = > {
it ( 'combine two time series, where first serie fields has units, into one' , async ( ) = > {
const serieA = toDataFrame ( {
name : 'A' ,
fields : [
@ -454,24 +423,21 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] , { units : 'celsius' } ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] , { units : 'celsius' } ) ,
] ;
const fields = unwrap ( result [ 0 ] . fields ) ;
const fields = unwrap ( result [ 0 ] . fields ) ;
expect ( fields [ 1 ] . config ) . toEqual ( { units : 'celsius' } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ,
done ,
expect ( fields [ 1 ] . config ) . toEqual ( { units : 'celsius' } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine two time series, where second serie fields has units, into one' , done = > {
it ( 'combine two time series, where second serie fields has units, into one' , async ( ) = > {
const serieA = toDataFrame ( {
name : 'A' ,
fields : [
@ -488,24 +454,21 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 , 100 , 125 , 126 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 , - 1 , 2 , 3 ] ) ,
] ;
const fields = unwrap ( result [ 0 ] . fields ) ;
const fields = unwrap ( result [ 0 ] . fields ) ;
expect ( fields [ 1 ] . config ) . toEqual ( { } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ,
done ,
expect ( fields [ 1 ] . config ) . toEqual ( { } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine one regular serie with an empty serie should return the regular serie' , done = > {
it ( 'combine one regular serie with an empty serie should return the regular serie' , async ( ) = > {
const serieA = toDataFrame ( {
name : 'A' ,
fields : [
@ -519,24 +482,21 @@ describe('Merge multipe to single', () => {
fields : [ ] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ serieA , serieB ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 ] ) ,
] ;
const fields = unwrap ( result [ 0 ] . fields ) ;
const fields = unwrap ( result [ 0 ] . fields ) ;
expect ( fields [ 1 ] . config ) . toEqual ( { } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ,
done ,
expect ( fields [ 1 ] . config ) . toEqual ( { } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine two regular series with an empty serie should return the combination of the regular series' , done = > {
it ( 'combine two regular series with an empty serie should return the combination of the regular series' , async ( ) = > {
const serieA = toDataFrame ( {
name : 'A' ,
fields : [
@ -558,25 +518,22 @@ describe('Merge multipe to single', () => {
] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ serieA , serieB , serieC ] ) ,
expect : result = > {
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 ] ) ,
createField ( 'Humidity' , FieldType . number , [ 6 , 7 , 8 ] ) ,
] ;
await expect ( transformDataFrame ( [ cfg ] , [ serieA , serieB , serieC ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [
createField ( 'Time' , FieldType . time , [ 100 , 150 , 200 ] ) ,
createField ( 'Temp' , FieldType . number , [ 1 , 4 , 5 ] ) ,
createField ( 'Humidity' , FieldType . number , [ 6 , 7 , 8 ] ) ,
] ;
const fields = unwrap ( result [ 0 ] . fields ) ;
const fields = unwrap ( result [ 0 ] . fields ) ;
expect ( fields [ 1 ] . config ) . toEqual ( { } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ,
done ,
expect ( fields [ 1 ] . config ) . toEqual ( { } ) ;
expect ( fields ) . toEqual ( expected ) ;
} ) ;
} ) ;
it ( 'combine multiple empty series should return one empty serie' , done = > {
it ( 'combine multiple empty series should return one empty serie' , async ( ) = > {
const serieA = toDataFrame ( {
name : 'A' ,
fields : [ ] ,
@ -592,16 +549,13 @@ describe('Merge multipe to single', () => {
fields : [ ] ,
} ) ;
observableTester ( ) . subscribeAndExpectOnNext ( {
observable : transformDataFrame ( [ cfg ] , [ serieA , serieB , serieC ] ) ,
expect : result = > {
const expected : Field [ ] = [ ] ;
const fields = unwrap ( result [ 0 ] . fields ) ;
await expect ( transformDataFrame ( [ cfg ] , [ serieA , serieB , serieC ] ) ) . toEmitValuesWith ( received = > {
const result = received [ 0 ] ;
const expected : Field [ ] = [ ] ;
const fields = unwrap ( result [ 0 ] . fields ) ;
expect ( fields ) . toEqual ( expected ) ;
expect ( result . length ) . toEqual ( 1 ) ;
} ,
done ,
expect ( fields ) . toEqual ( expected ) ;
expect ( result . length ) . toEqual ( 1 ) ;
} ) ;
} ) ;
} ) ;