diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-12 09:07:53 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-05-12 09:07:53 +0300 |
commit | 90726a8ccc9df6d9b5ff4f5e1eb31d015c1db8e2 (patch) | |
tree | c5992348be5d8d81656ce665efd6980bfa8fbf71 /spec/frontend/vue_shared/components/user_popover | |
parent | 48d9e7ff8ddfe152686d450fa5ac511f12d42d5b (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/vue_shared/components/user_popover')
-rw-r--r-- | spec/frontend/vue_shared/components/user_popover/user_popover_spec.js | 170 |
1 files changed, 79 insertions, 91 deletions
diff --git a/spec/frontend/vue_shared/components/user_popover/user_popover_spec.js b/spec/frontend/vue_shared/components/user_popover/user_popover_spec.js index 5595a44672a..20298e95107 100644 --- a/spec/frontend/vue_shared/components/user_popover/user_popover_spec.js +++ b/spec/frontend/vue_shared/components/user_popover/user_popover_spec.js @@ -51,9 +51,7 @@ describe('User Popover Component', () => { const findUserLocalTime = () => wrapper.findByTestId('user-popover-local-time'); const findToggleFollowButton = () => wrapper.findByTestId('toggle-follow-button'); - const createWrapper = (props = {}, { followInUserPopover = true } = {}) => { - gon.features.followInUserPopover = followInUserPopover; - + const createWrapper = (props = {}) => { wrapper = mountExtended(UserPopover, { propsData: { ...DEFAULT_PROPS, @@ -304,132 +302,122 @@ describe('User Popover Component', () => { }); }); - describe('follow actions with `followInUserPopover` flag enabled', () => { - describe("when current user doesn't follow the user", () => { - beforeEach(() => createWrapper()); + describe("when current user doesn't follow the user", () => { + beforeEach(() => createWrapper()); - it('renders the Follow button with the correct variant', () => { - expect(findToggleFollowButton().text()).toBe('Follow'); - expect(findToggleFollowButton().props('variant')).toBe('confirm'); - }); + it('renders the Follow button with the correct variant', () => { + expect(findToggleFollowButton().text()).toBe('Follow'); + expect(findToggleFollowButton().props('variant')).toBe('confirm'); + }); - describe('when clicking', () => { - it('follows the user', async () => { - followUser.mockResolvedValue({}); + describe('when clicking', () => { + it('follows the user', async () => { + followUser.mockResolvedValue({}); - await findToggleFollowButton().trigger('click'); + await findToggleFollowButton().trigger('click'); - expect(findToggleFollowButton().props('loading')).toBe(true); + expect(findToggleFollowButton().props('loading')).toBe(true); - await axios.waitForAll(); + await axios.waitForAll(); - expect(wrapper.emitted().follow.length).toBe(1); - expect(wrapper.emitted().unfollow).toBeFalsy(); - }); + expect(wrapper.emitted().follow.length).toBe(1); + expect(wrapper.emitted().unfollow).toBeFalsy(); + }); - describe('when an error occurs', () => { - beforeEach(() => { - followUser.mockRejectedValue({}); + describe('when an error occurs', () => { + beforeEach(() => { + followUser.mockRejectedValue({}); - findToggleFollowButton().trigger('click'); - }); + findToggleFollowButton().trigger('click'); + }); - it('shows an error message', async () => { - await axios.waitForAll(); + it('shows an error message', async () => { + await axios.waitForAll(); - expect(createFlash).toHaveBeenCalledWith({ - message: 'An error occurred while trying to follow this user, please try again.', - error: {}, - captureError: true, - }); + expect(createFlash).toHaveBeenCalledWith({ + message: 'An error occurred while trying to follow this user, please try again.', + error: {}, + captureError: true, }); + }); - it('emits no events', async () => { - await axios.waitForAll(); + it('emits no events', async () => { + await axios.waitForAll(); - expect(wrapper.emitted().follow).toBe(undefined); - expect(wrapper.emitted().unfollow).toBe(undefined); - }); + expect(wrapper.emitted().follow).toBe(undefined); + expect(wrapper.emitted().unfollow).toBe(undefined); }); }); }); + }); - describe('when current user follows the user', () => { - beforeEach(() => createWrapper({ user: { ...DEFAULT_PROPS.user, isFollowed: true } })); + describe('when current user follows the user', () => { + beforeEach(() => createWrapper({ user: { ...DEFAULT_PROPS.user, isFollowed: true } })); - it('renders the Unfollow button with the correct variant', () => { - expect(findToggleFollowButton().text()).toBe('Unfollow'); - expect(findToggleFollowButton().props('variant')).toBe('default'); - }); + it('renders the Unfollow button with the correct variant', () => { + expect(findToggleFollowButton().text()).toBe('Unfollow'); + expect(findToggleFollowButton().props('variant')).toBe('default'); + }); - describe('when clicking', () => { - it('unfollows the user', async () => { - unfollowUser.mockResolvedValue({}); + describe('when clicking', () => { + it('unfollows the user', async () => { + unfollowUser.mockResolvedValue({}); - findToggleFollowButton().trigger('click'); + findToggleFollowButton().trigger('click'); - await axios.waitForAll(); + await axios.waitForAll(); - expect(wrapper.emitted().follow).toBe(undefined); - expect(wrapper.emitted().unfollow.length).toBe(1); - }); + expect(wrapper.emitted().follow).toBe(undefined); + expect(wrapper.emitted().unfollow.length).toBe(1); + }); - describe('when an error occurs', () => { - beforeEach(async () => { - unfollowUser.mockRejectedValue({}); + describe('when an error occurs', () => { + beforeEach(async () => { + unfollowUser.mockRejectedValue({}); - findToggleFollowButton().trigger('click'); + findToggleFollowButton().trigger('click'); - await axios.waitForAll(); - }); + await axios.waitForAll(); + }); - it('shows an error message', () => { - expect(createFlash).toHaveBeenCalledWith({ - message: 'An error occurred while trying to unfollow this user, please try again.', - error: {}, - captureError: true, - }); + it('shows an error message', () => { + expect(createFlash).toHaveBeenCalledWith({ + message: 'An error occurred while trying to unfollow this user, please try again.', + error: {}, + captureError: true, }); + }); - it('emits no events', () => { - expect(wrapper.emitted().follow).toBe(undefined); - expect(wrapper.emitted().unfollow).toBe(undefined); - }); + it('emits no events', () => { + expect(wrapper.emitted().follow).toBe(undefined); + expect(wrapper.emitted().unfollow).toBe(undefined); }); }); }); + }); - describe('when the current user is the user', () => { - beforeEach(() => { - gon.current_username = DEFAULT_PROPS.user.username; - createWrapper(); - }); - - it("doesn't render the toggle follow button", () => { - expect(findToggleFollowButton().exists()).toBe(false); - }); + describe('when the current user is the user', () => { + beforeEach(() => { + gon.current_username = DEFAULT_PROPS.user.username; + createWrapper(); }); - describe('when API does not support `isFollowed`', () => { - beforeEach(() => { - const user = { - ...DEFAULT_PROPS.user, - isFollowed: undefined, - }; - - createWrapper({ user }); - }); - - it('does not render the toggle follow button', () => { - expect(findToggleFollowButton().exists()).toBe(false); - }); + it("doesn't render the toggle follow button", () => { + expect(findToggleFollowButton().exists()).toBe(false); }); }); - describe('follow actions with `followInUserPopover` flag disabled', () => { - beforeEach(() => createWrapper({}, { followInUserPopover: false })); + describe('when API does not support `isFollowed`', () => { + beforeEach(() => { + const user = { + ...DEFAULT_PROPS.user, + isFollowed: undefined, + }; + + createWrapper({ user }); + }); - it('doesn’t render the toggle follow button', () => { + it('does not render the toggle follow button', () => { expect(findToggleFollowButton().exists()).toBe(false); }); }); |