diff options
Diffstat (limited to 'spec/frontend/sidebar/components/assignees/assignee_avatar_link_spec.js')
-rw-r--r-- | spec/frontend/sidebar/components/assignees/assignee_avatar_link_spec.js | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/spec/frontend/sidebar/components/assignees/assignee_avatar_link_spec.js b/spec/frontend/sidebar/components/assignees/assignee_avatar_link_spec.js index 03d1ac3ab8d..5a3a152d201 100644 --- a/spec/frontend/sidebar/components/assignees/assignee_avatar_link_spec.js +++ b/spec/frontend/sidebar/components/assignees/assignee_avatar_link_spec.js @@ -1,7 +1,7 @@ import { shallowMount } from '@vue/test-utils'; import { TEST_HOST } from 'helpers/test_constants'; -import AssigneeAvatarLink from '~/sidebar/components/assignees/assignee_avatar_link.vue'; import AssigneeAvatar from '~/sidebar/components/assignees/assignee_avatar.vue'; +import AssigneeAvatarLink from '~/sidebar/components/assignees/assignee_avatar_link.vue'; import userDataMock from '../../user_data_mock'; const TOOLTIP_PLACEMENT = 'bottom'; @@ -79,4 +79,34 @@ describe('AssigneeAvatarLink component', () => { }); }, ); + + describe.each` + tooltipHasName | availability | canMerge | expected + ${true} | ${'Busy'} | ${false} | ${'Root (Busy) (cannot merge)'} + ${true} | ${'Busy'} | ${true} | ${'Root (Busy)'} + ${true} | ${''} | ${false} | ${'Root (cannot merge)'} + ${true} | ${''} | ${true} | ${'Root'} + ${false} | ${'Busy'} | ${false} | ${'Cannot merge'} + ${false} | ${'Busy'} | ${true} | ${''} + ${false} | ${''} | ${false} | ${'Cannot merge'} + ${false} | ${''} | ${true} | ${''} + `( + "with tooltipHasName=$tooltipHasName and availability='$availability' and canMerge=$canMerge", + ({ tooltipHasName, availability, canMerge, expected }) => { + beforeEach(() => { + createComponent({ + tooltipHasName, + user: { + ...userDataMock(), + can_merge: canMerge, + availability, + }, + }); + }); + + it('sets tooltip to $expected', () => { + expect(findTooltipText()).toBe(expected); + }); + }, + ); }); |