summaryrefslogtreecommitdiff
path: root/spec/frontend/vue_mr_widget/extentions/terraform/index_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/vue_mr_widget/extentions/terraform/index_spec.js')
-rw-r--r--spec/frontend/vue_mr_widget/extentions/terraform/index_spec.js24
1 files changed, 19 insertions, 5 deletions
diff --git a/spec/frontend/vue_mr_widget/extentions/terraform/index_spec.js b/spec/frontend/vue_mr_widget/extentions/terraform/index_spec.js
index f8ea6fc23a2..77b3576a3d3 100644
--- a/spec/frontend/vue_mr_widget/extentions/terraform/index_spec.js
+++ b/spec/frontend/vue_mr_widget/extentions/terraform/index_spec.js
@@ -1,6 +1,7 @@
import MockAdapter from 'axios-mock-adapter';
import { mountExtended } from 'helpers/vue_test_utils_helper';
import waitForPromises from 'helpers/wait_for_promises';
+import api from '~/api';
import axios from '~/lib/utils/axios_utils';
import Poll from '~/lib/utils/poll';
import extensionsContainer from '~/vue_merge_request_widget/components/extensions/container';
@@ -14,6 +15,8 @@ import {
invalidPlanWithoutName,
} from '../../components/terraform/mock_data';
+jest.mock('~/api.js');
+
describe('Terraform extension', () => {
let wrapper;
let mock;
@@ -130,20 +133,33 @@ describe('Terraform extension', () => {
}
});
});
+
+ it('responds with the correct telemetry when the deeply nested "Full log" link is clicked', () => {
+ api.trackRedisHllUserEvent.mockClear();
+ api.trackRedisCounterEvent.mockClear();
+
+ findListItem(0).find('[data-testid="extension-actions-button"]').trigger('click');
+
+ expect(api.trackRedisHllUserEvent).toHaveBeenCalledTimes(1);
+ expect(api.trackRedisHllUserEvent).toHaveBeenCalledWith(
+ 'i_merge_request_widget_terraform_click_full_report',
+ );
+ expect(api.trackRedisCounterEvent).toHaveBeenCalledTimes(1);
+ expect(api.trackRedisCounterEvent).toHaveBeenCalledWith(
+ 'i_merge_request_widget_terraform_count_click_full_report',
+ );
+ });
});
describe('polling', () => {
let pollRequest;
- let pollStop;
beforeEach(() => {
pollRequest = jest.spyOn(Poll.prototype, 'makeRequest');
- pollStop = jest.spyOn(Poll.prototype, 'stop');
});
afterEach(() => {
pollRequest.mockRestore();
- pollStop.mockRestore();
});
describe('successful poll', () => {
@@ -155,7 +171,6 @@ describe('Terraform extension', () => {
it('does not make additional requests after poll is successful', () => {
expect(pollRequest).toHaveBeenCalledTimes(1);
- expect(pollStop).toHaveBeenCalledTimes(1);
});
});
@@ -171,7 +186,6 @@ describe('Terraform extension', () => {
it('does not make additional requests after poll is unsuccessful', () => {
expect(pollRequest).toHaveBeenCalledTimes(1);
- expect(pollStop).toHaveBeenCalledTimes(1);
});
});
});