diff options
author | Sam Bigelow <sbigelow@gitlab.com> | 2019-04-10 14:35:16 -0400 |
---|---|---|
committer | Sam Bigelow <sbigelow@gitlab.com> | 2019-04-12 10:24:40 -0400 |
commit | 2ea409f6e18150615610e09979bda73fc5bff9e8 (patch) | |
tree | d79398c138b17a17c9c8fbd9efd3fbc953e2f21b /spec/frontend | |
parent | c61fd077a42b1498dc82cc5fb17a0efcc9d758d5 (diff) | |
download | gitlab-ce-2ea409f6e18150615610e09979bda73fc5bff9e8.tar.gz |
Fix bug where MR Popover wont go away60241-merge-request-popover-doesn-t-go-away-on-mouse-leave
Add a check to make sure eventListener is not added twice
Diffstat (limited to 'spec/frontend')
-rw-r--r-- | spec/frontend/mr_popover/index_spec.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/frontend/mr_popover/index_spec.js b/spec/frontend/mr_popover/index_spec.js new file mode 100644 index 00000000000..8c33e52a04b --- /dev/null +++ b/spec/frontend/mr_popover/index_spec.js @@ -0,0 +1,30 @@ +import * as createDefaultClient from '~/lib/graphql'; +import { setHTMLFixture } from '../helpers/fixtures'; +import initMRPopovers from '~/mr_popover/index'; + +createDefaultClient.default = jest.fn(); + +describe('initMRPopovers', () => { + let mr1; + let mr2; + + beforeEach(() => { + setHTMLFixture(` + <div id="one" class="gfm-merge_request">MR1</div> + <div id="two" class="gfm-merge_request">MR2</div> + `); + + mr1 = document.querySelector('#one'); + mr2 = document.querySelector('#two'); + + mr1.addEventListener = jest.fn(); + mr2.addEventListener = jest.fn(); + }); + + it('does not add the same event listener twice', () => { + initMRPopovers([mr1, mr1, mr2]); + + expect(mr1.addEventListener).toHaveBeenCalledTimes(1); + expect(mr2.addEventListener).toHaveBeenCalledTimes(1); + }); +}); |