adhoc_variable.jest.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { AdhocVariable } from '../adhoc_variable';
  2. describe('AdhocVariable', function() {
  3. describe('when serializing to url', function() {
  4. it('should set return key value and op seperated by pipe', function() {
  5. var variable = new AdhocVariable({
  6. filters: [
  7. { key: 'key1', operator: '=', value: 'value1' },
  8. { key: 'key2', operator: '!=', value: 'value2' },
  9. { key: 'key3', operator: '=', value: 'value3a|value3b|value3c' },
  10. ],
  11. });
  12. var urlValue = variable.getValueForUrl();
  13. expect(urlValue).toMatchObject([
  14. 'key1|=|value1',
  15. 'key2|!=|value2',
  16. 'key3|=|value3a__gfp__value3b__gfp__value3c',
  17. ]);
  18. });
  19. });
  20. describe('when deserializing from url', function() {
  21. it('should restore filters', function() {
  22. var variable = new AdhocVariable({});
  23. variable.setValueFromUrl([
  24. 'key1|=|value1',
  25. 'key2|!=|value2',
  26. 'key3|=|value3a__gfp__value3b__gfp__value3c',
  27. ]);
  28. expect(variable.filters[0].key).toBe('key1');
  29. expect(variable.filters[0].operator).toBe('=');
  30. expect(variable.filters[0].value).toBe('value1');
  31. expect(variable.filters[1].key).toBe('key2');
  32. expect(variable.filters[1].operator).toBe('!=');
  33. expect(variable.filters[1].value).toBe('value2');
  34. expect(variable.filters[2].key).toBe('key3');
  35. expect(variable.filters[2].operator).toBe('=');
  36. expect(variable.filters[2].value).toBe('value3a|value3b|value3c');
  37. });
  38. });
  39. });