diff options
Diffstat (limited to 'spec/frontend/broadcast_notification_spec.js')
-rw-r--r-- | spec/frontend/broadcast_notification_spec.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/frontend/broadcast_notification_spec.js b/spec/frontend/broadcast_notification_spec.js new file mode 100644 index 00000000000..8d433946632 --- /dev/null +++ b/spec/frontend/broadcast_notification_spec.js @@ -0,0 +1,35 @@ +import Cookies from 'js-cookie'; +import initBroadcastNotifications from '~/broadcast_notification'; + +describe('broadcast message on dismiss', () => { + const dismiss = () => { + const button = document.querySelector('.js-dismiss-current-broadcast-notification'); + button.click(); + }; + const endsAt = '2020-01-01T00:00:00Z'; + + beforeEach(() => { + setFixtures(` + <div class="js-broadcast-notification-1"> + <button class="js-dismiss-current-broadcast-notification" data-id="1" data-expire-date="${endsAt}"></button> + </div> + `); + + initBroadcastNotifications(); + }); + + it('removes broadcast message', () => { + dismiss(); + + expect(document.querySelector('.js-broadcast-notification-1')).toBeNull(); + }); + + it('calls Cookies.set', () => { + jest.spyOn(Cookies, 'set'); + dismiss(); + + expect(Cookies.set).toHaveBeenCalledWith('hide_broadcast_message_1', true, { + expires: new Date(endsAt), + }); + }); +}); |