From 0c872e02b2c822e3397515ec324051ff540f0cd5 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 20 Dec 2022 14:22:11 +0000 Subject: Add latest changes from gitlab-org/gitlab@15-7-stable-ee --- .../utils/trigger_successful_invite_alert_spec.js | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 spec/frontend/invite_members/utils/trigger_successful_invite_alert_spec.js (limited to 'spec/frontend/invite_members/utils/trigger_successful_invite_alert_spec.js') diff --git a/spec/frontend/invite_members/utils/trigger_successful_invite_alert_spec.js b/spec/frontend/invite_members/utils/trigger_successful_invite_alert_spec.js new file mode 100644 index 00000000000..38b16dd0c2c --- /dev/null +++ b/spec/frontend/invite_members/utils/trigger_successful_invite_alert_spec.js @@ -0,0 +1,54 @@ +import { + displaySuccessfulInvitationAlert, + reloadOnInvitationSuccess, +} from '~/invite_members/utils/trigger_successful_invite_alert'; +import { + TOAST_MESSAGE_LOCALSTORAGE_KEY, + TOAST_MESSAGE_SUCCESSFUL, +} from '~/invite_members/constants'; +import { createAlert } from '~/flash'; +import { useLocalStorageSpy } from 'helpers/local_storage_helper'; + +jest.mock('~/flash'); +useLocalStorageSpy(); + +describe('Display Successful Invitation Alert', () => { + it('does not show alert if localStorage key not present', () => { + localStorage.removeItem(TOAST_MESSAGE_LOCALSTORAGE_KEY); + + displaySuccessfulInvitationAlert(); + + expect(createAlert).not.toHaveBeenCalled(); + }); + + it('shows alert when localStorage key is present', () => { + localStorage.setItem(TOAST_MESSAGE_LOCALSTORAGE_KEY, 'true'); + + displaySuccessfulInvitationAlert(); + + expect(createAlert).toHaveBeenCalledWith({ + message: TOAST_MESSAGE_SUCCESSFUL, + variant: 'info', + }); + }); +}); + +describe('Reload On Invitation Success', () => { + const { location } = window; + + beforeAll(() => { + delete window.location; + window.location = { reload: jest.fn() }; + }); + + afterAll(() => { + window.location = location; + }); + + it('sets localStorage value and calls window.location.reload', () => { + reloadOnInvitationSuccess(); + + expect(localStorage.setItem).toHaveBeenCalledWith(TOAST_MESSAGE_LOCALSTORAGE_KEY, 'true'); + expect(window.location.reload).toHaveBeenCalled(); + }); +}); -- cgit v1.2.3