getDiscoverConditionsToSearchString.spec.jsx 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import {getDiscoverConditionsToSearchString} from 'app/views/dashboards/utils/getDiscoverConditionsToSearchString';
  2. describe('getDiscoverConditionsToSearchString', function() {
  3. it('handles empty conditions', function() {
  4. expect(getDiscoverConditionsToSearchString([])).toBe('');
  5. });
  6. it('string equality', function() {
  7. expect(
  8. getDiscoverConditionsToSearchString([['user.email', '=', 'billy@sentry.io']])
  9. ).toBe('user.email:billy@sentry.io');
  10. });
  11. it('string equality negation', function() {
  12. expect(
  13. getDiscoverConditionsToSearchString([['user.email', '!=', 'billy@sentry.io']])
  14. ).toBe('!user.email:billy@sentry.io');
  15. });
  16. it('searches for strings with wildcards', function() {
  17. expect(
  18. getDiscoverConditionsToSearchString([['user.email', 'LIKE', '%@sentry.io']])
  19. ).toBe('user.email:*@sentry.io');
  20. });
  21. it('negation searches for strings with wildcards', function() {
  22. expect(
  23. getDiscoverConditionsToSearchString([['user.email', 'NOT LIKE', '%@sentry.io']])
  24. ).toBe('!user.email:*@sentry.io');
  25. });
  26. it('is null', function() {
  27. expect(getDiscoverConditionsToSearchString([['user.email', 'IS NULL', null]])).toBe(
  28. 'user.email:""'
  29. );
  30. });
  31. it('is not null', function() {
  32. expect(
  33. getDiscoverConditionsToSearchString([['user.email', 'IS NOT NULL', null]])
  34. ).toBe('!user.email:""');
  35. });
  36. it('handles multiple conditions', function() {
  37. expect(
  38. getDiscoverConditionsToSearchString([
  39. ['user.email', 'IS NOT NULL', null],
  40. ['user.email', 'LIKE', '%@sentry%'],
  41. ])
  42. ).toBe('!user.email:"" user.email:*@sentry*');
  43. });
  44. });