append.test.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { transformDataFrame, dataTransformers } from './transformers';
  2. import { DataTransformerID } from './ids';
  3. import { toDataFrame } from '../processDataFrame';
  4. const seriesAB = toDataFrame({
  5. columns: [{ text: 'A' }, { text: 'B' }],
  6. rows: [
  7. [1, 100], // A,B
  8. [2, 200], // A,B
  9. ],
  10. });
  11. const seriesBC = toDataFrame({
  12. columns: [{ text: 'A' }, { text: 'C' }],
  13. rows: [
  14. [3, 3000], // A,C
  15. [4, 4000], // A,C
  16. ],
  17. });
  18. describe('Append Transformer', () => {
  19. it('filters by include', () => {
  20. const cfg = {
  21. id: DataTransformerID.append,
  22. options: {},
  23. };
  24. const x = dataTransformers.get(DataTransformerID.append);
  25. expect(x.id).toBe(cfg.id);
  26. const processed = transformDataFrame([cfg], [seriesAB, seriesBC])[0];
  27. expect(processed.fields.length).toBe(3);
  28. const fieldA = processed.fields[0];
  29. const fieldB = processed.fields[1];
  30. const fieldC = processed.fields[2];
  31. expect(fieldA.values.toArray()).toEqual([1, 2, 3, 4]);
  32. expect(fieldB.values.toArray()).toEqual([100, 200, null, null]);
  33. expect(fieldC.values.toArray()).toEqual([null, null, 3000, 4000]);
  34. });
  35. });