summaryrefslogtreecommitdiff
path: root/spec/frontend/sidebar/track_invite_members_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/sidebar/track_invite_members_spec.js')
-rw-r--r--spec/frontend/sidebar/track_invite_members_spec.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/frontend/sidebar/track_invite_members_spec.js b/spec/frontend/sidebar/track_invite_members_spec.js
new file mode 100644
index 00000000000..6c96e4cfc76
--- /dev/null
+++ b/spec/frontend/sidebar/track_invite_members_spec.js
@@ -0,0 +1,37 @@
+import $ from 'jquery';
+import { mockTracking, unmockTracking } from 'helpers/tracking_helper';
+import trackShowInviteMemberLink from '~/sidebar/track_invite_members';
+
+describe('Track user dropdown open', () => {
+ let trackingSpy;
+ let dropdownElement;
+
+ beforeEach(() => {
+ document.body.innerHTML = `
+ <div id="dummy-wrapper-element">
+ <div class="js-sidebar-assignee-dropdown">
+ <div class="js-invite-members-track" data-track-event="_track_event_" data-track-label="_track_label_">
+ </div>
+ </div>
+ </div>
+ `;
+
+ dropdownElement = document.querySelector('.js-sidebar-assignee-dropdown');
+ trackingSpy = mockTracking('_category_', dropdownElement, jest.spyOn);
+ document.body.dataset.page = 'some:page';
+
+ trackShowInviteMemberLink(dropdownElement);
+ });
+
+ afterEach(() => {
+ unmockTracking();
+ });
+
+ it('sends a tracking event when the dropdown is opened and contains Invite Members link', () => {
+ $(dropdownElement).trigger('shown.bs.dropdown');
+
+ expect(trackingSpy).toHaveBeenCalledWith(undefined, '_track_event_', {
+ label: '_track_label_',
+ });
+ });
+});