diff options
Diffstat (limited to 'spec/frontend/sidebar/track_invite_members_spec.js')
-rw-r--r-- | spec/frontend/sidebar/track_invite_members_spec.js | 37 |
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_', + }); + }); +}); |