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. });