utils.spec.jsx 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import {Dataset} from 'app/views/alerts/incidentRules/types';
  2. import {getAlertTypeFromAggregateDataset} from 'app/views/alerts/wizard/utils';
  3. describe('Wizard utils', function () {
  4. it('extracts lcp alert', function () {
  5. expect(
  6. getAlertTypeFromAggregateDataset({
  7. aggregate: 'p95(measurements.lcp)',
  8. dataset: Dataset.TRANSACTIONS,
  9. })
  10. ).toEqual('lcp');
  11. expect(
  12. getAlertTypeFromAggregateDataset({
  13. aggregate: 'percentile(measurements.lcp,0.7)',
  14. dataset: Dataset.TRANSACTIONS,
  15. })
  16. ).toEqual('lcp');
  17. expect(
  18. getAlertTypeFromAggregateDataset({
  19. aggregate: 'avg(measurements.lcp)',
  20. dataset: Dataset.TRANSACTIONS,
  21. })
  22. ).toEqual('lcp');
  23. });
  24. it('extracts duration alert', function () {
  25. expect(
  26. getAlertTypeFromAggregateDataset({
  27. aggregate: 'p95(transaction.duration)',
  28. dataset: Dataset.TRANSACTIONS,
  29. })
  30. ).toEqual('trans_duration');
  31. expect(
  32. getAlertTypeFromAggregateDataset({
  33. aggregate: 'percentile(transaction.duration,0.3)',
  34. dataset: Dataset.TRANSACTIONS,
  35. })
  36. ).toEqual('trans_duration');
  37. expect(
  38. getAlertTypeFromAggregateDataset({
  39. aggregate: 'avg(transaction.duration)',
  40. dataset: Dataset.TRANSACTIONS,
  41. })
  42. ).toEqual('trans_duration');
  43. });
  44. it('extracts throughput alert', function () {
  45. expect(
  46. getAlertTypeFromAggregateDataset({
  47. aggregate: 'count()',
  48. dataset: Dataset.TRANSACTIONS,
  49. })
  50. ).toEqual('throughput');
  51. });
  52. it('extracts user error alert', function () {
  53. expect(
  54. getAlertTypeFromAggregateDataset({
  55. aggregate: 'count_unique(tags[sentry:user])',
  56. dataset: Dataset.ERRORS,
  57. })
  58. ).toEqual('users_experiencing_errors');
  59. });
  60. it('extracts error count alert', function () {
  61. expect(
  62. getAlertTypeFromAggregateDataset({
  63. aggregate: 'count()',
  64. dataset: Dataset.ERRORS,
  65. })
  66. ).toEqual('num_errors');
  67. });
  68. it('defaults to custom', function () {
  69. expect(
  70. getAlertTypeFromAggregateDataset({
  71. aggregate: 'count_unique(tags[sentry:user])',
  72. dataset: Dataset.TRANSACTIONS,
  73. })
  74. ).toEqual('custom');
  75. expect(
  76. getAlertTypeFromAggregateDataset({
  77. aggregate: 'p95(measurements.fp)',
  78. dataset: Dataset.TRANSACTIONS,
  79. })
  80. ).toEqual('custom');
  81. expect(
  82. getAlertTypeFromAggregateDataset({
  83. aggregate: 'p95(measurements.ttfb)',
  84. dataset: Dataset.TRANSACTIONS,
  85. })
  86. ).toEqual('custom');
  87. });
  88. });