mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
import { removeEmpty, coerceESVersion } from './utils';
 | 
						|
 | 
						|
describe('removeEmpty', () => {
 | 
						|
  it('Should remove all empty', () => {
 | 
						|
    const original = {
 | 
						|
      stringsShouldBeKept: 'Something',
 | 
						|
      unlessTheyAreEmpty: '',
 | 
						|
      nullToBeRemoved: null,
 | 
						|
      undefinedToBeRemoved: null,
 | 
						|
      zeroShouldBeKept: 0,
 | 
						|
      booleansShouldBeKept: false,
 | 
						|
      emptyObjectsShouldBeRemoved: {},
 | 
						|
      emptyArrayShouldBeRemoved: [],
 | 
						|
      nonEmptyArraysShouldBeKept: [1, 2, 3],
 | 
						|
      nestedObjToBeRemoved: {
 | 
						|
        toBeRemoved: undefined,
 | 
						|
      },
 | 
						|
      nestedObjectToKeep: {
 | 
						|
        thisShouldBeRemoved: null,
 | 
						|
        thisShouldBeKept: 'Hello, Grafana',
 | 
						|
      },
 | 
						|
    };
 | 
						|
 | 
						|
    const expectedResult = {
 | 
						|
      stringsShouldBeKept: 'Something',
 | 
						|
      zeroShouldBeKept: 0,
 | 
						|
      booleansShouldBeKept: false,
 | 
						|
      nonEmptyArraysShouldBeKept: [1, 2, 3],
 | 
						|
      nestedObjectToKeep: {
 | 
						|
        thisShouldBeKept: 'Hello, Grafana',
 | 
						|
      },
 | 
						|
    };
 | 
						|
 | 
						|
    expect(removeEmpty(original)).toStrictEqual(expectedResult);
 | 
						|
  });
 | 
						|
 | 
						|
  it('should correctly coerce the version info', () => {
 | 
						|
    // valid string
 | 
						|
    expect(coerceESVersion('8.1.3')).toBe('8.1.3');
 | 
						|
 | 
						|
    // invalid string
 | 
						|
    expect(coerceESVersion('haha')).toBe('8.0.0');
 | 
						|
 | 
						|
    // known number
 | 
						|
    expect(coerceESVersion(2)).toBe('2.0.0');
 | 
						|
    expect(coerceESVersion(5)).toBe('5.0.0');
 | 
						|
    expect(coerceESVersion(56)).toBe('5.6.0');
 | 
						|
    expect(coerceESVersion(60)).toBe('6.0.0');
 | 
						|
    expect(coerceESVersion(70)).toBe('7.0.0');
 | 
						|
    expect(coerceESVersion(8)).toBe('8.0.0');
 | 
						|
 | 
						|
    // unknown number
 | 
						|
    expect(coerceESVersion(42)).toBe('8.0.0');
 | 
						|
 | 
						|
    // undefined
 | 
						|
    expect(coerceESVersion(undefined)).toBe('8.0.0');
 | 
						|
  });
 | 
						|
});
 |