summaryrefslogtreecommitdiff
path: root/spec/frontend/monitoring/components/panel_type_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/monitoring/components/panel_type_spec.js')
-rw-r--r--spec/frontend/monitoring/components/panel_type_spec.js76
1 files changed, 76 insertions, 0 deletions
diff --git a/spec/frontend/monitoring/components/panel_type_spec.js b/spec/frontend/monitoring/components/panel_type_spec.js
index dbbe3f55298..058c201d325 100644
--- a/spec/frontend/monitoring/components/panel_type_spec.js
+++ b/spec/frontend/monitoring/components/panel_type_spec.js
@@ -148,6 +148,82 @@ describe('Panel Type component', () => {
});
});
+ describe('Edit custom metric dropdown item', () => {
+ const findEditCustomMetricLink = () => wrapper.find({ ref: 'editMetricLink' });
+
+ beforeEach(() => {
+ createWrapper({
+ graphData: {
+ ...graphDataPrometheusQueryRange,
+ },
+ });
+
+ return wrapper.vm.$nextTick();
+ });
+
+ it('is not present if the panel is not a custom metric', () => {
+ expect(findEditCustomMetricLink().exists()).toBe(false);
+ });
+
+ it('is present when the panel contains an edit_path property', () => {
+ wrapper.setProps({
+ graphData: {
+ ...graphDataPrometheusQueryRange,
+ metrics: [
+ {
+ ...graphDataPrometheusQueryRange.metrics[0],
+ edit_path: '/root/kubernetes-gke-project/prometheus/metrics/23/edit',
+ },
+ ],
+ },
+ });
+
+ return wrapper.vm.$nextTick(() => {
+ expect(findEditCustomMetricLink().exists()).toBe(true);
+ });
+ });
+
+ it('shows an "Edit metric" link for a panel with a single metric', () => {
+ wrapper.setProps({
+ graphData: {
+ ...graphDataPrometheusQueryRange,
+ metrics: [
+ {
+ ...graphDataPrometheusQueryRange.metrics[0],
+ edit_path: '/root/kubernetes-gke-project/prometheus/metrics/23/edit',
+ },
+ ],
+ },
+ });
+
+ return wrapper.vm.$nextTick(() => {
+ expect(findEditCustomMetricLink().text()).toBe('Edit metric');
+ });
+ });
+
+ it('shows an "Edit metrics" link for a panel with multiple metrics', () => {
+ wrapper.setProps({
+ graphData: {
+ ...graphDataPrometheusQueryRange,
+ metrics: [
+ {
+ ...graphDataPrometheusQueryRange.metrics[0],
+ edit_path: '/root/kubernetes-gke-project/prometheus/metrics/23/edit',
+ },
+ {
+ ...graphDataPrometheusQueryRange.metrics[0],
+ edit_path: '/root/kubernetes-gke-project/prometheus/metrics/23/edit',
+ },
+ ],
+ },
+ });
+
+ return wrapper.vm.$nextTick(() => {
+ expect(findEditCustomMetricLink().text()).toBe('Edit metrics');
+ });
+ });
+ });
+
describe('View Logs dropdown item', () => {
const mockLogsPath = '/path/to/logs';
const mockTimeRange = { duration: { seconds: 120 } };