diff options
Diffstat (limited to 'spec/frontend/monitoring/utils_spec.js')
-rw-r--r-- | spec/frontend/monitoring/utils_spec.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/spec/frontend/monitoring/utils_spec.js b/spec/frontend/monitoring/utils_spec.js new file mode 100644 index 00000000000..1e8d5753885 --- /dev/null +++ b/spec/frontend/monitoring/utils_spec.js @@ -0,0 +1,54 @@ +import * as monitoringUtils from '~/monitoring/utils'; + +describe('Snowplow Events', () => { + const generatedLink = 'http://chart.link.com'; + const chartTitle = 'Some metric chart'; + + describe('trackGenerateLinkToChartEventOptions', () => { + it('should return Cluster Monitoring options if located on Cluster Health Dashboard', () => { + document.body.dataset.page = 'groups:clusters:show'; + + expect(monitoringUtils.generateLinkToChartOptions(generatedLink)).toEqual({ + category: 'Cluster Monitoring', + action: 'generate_link_to_cluster_metric_chart', + label: 'Chart link', + property: generatedLink, + }); + }); + + it('should return Incident Management event options if located on Metrics Dashboard', () => { + document.body.dataset.page = 'metrics:show'; + + expect(monitoringUtils.generateLinkToChartOptions(generatedLink)).toEqual({ + category: 'Incident Management::Embedded metrics', + action: 'generate_link_to_metrics_chart', + label: 'Chart link', + property: generatedLink, + }); + }); + }); + + describe('trackDownloadCSVEvent', () => { + it('should return Cluster Monitoring options if located on Cluster Health Dashboard', () => { + document.body.dataset.page = 'groups:clusters:show'; + + expect(monitoringUtils.downloadCSVOptions(chartTitle)).toEqual({ + category: 'Cluster Monitoring', + action: 'download_csv_of_cluster_metric_chart', + label: 'Chart title', + property: chartTitle, + }); + }); + + it('should return Incident Management event options if located on Metrics Dashboard', () => { + document.body.dataset.page = 'metriss:show'; + + expect(monitoringUtils.downloadCSVOptions(chartTitle)).toEqual({ + category: 'Incident Management::Embedded metrics', + action: 'download_csv_of_metrics_dashboard_chart', + label: 'Chart title', + property: chartTitle, + }); + }); + }); +}); |