diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-18 13:34:06 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-02-18 13:34:06 +0300 |
commit | 859a6fb938bb9ee2a317c46dfa4fcc1af49608f0 (patch) | |
tree | d7f2700abe6b4ffcb2dcfc80631b2d87d0609239 /spec/frontend/sidebar/components/assignees/user_name_with_status_spec.js | |
parent | 446d496a6d000c73a304be52587cd9bbc7493136 (diff) |
Add latest changes from gitlab-org/gitlab@13-9-stable-eev13.9.0-rc42
Diffstat (limited to 'spec/frontend/sidebar/components/assignees/user_name_with_status_spec.js')
-rw-r--r-- | spec/frontend/sidebar/components/assignees/user_name_with_status_spec.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/spec/frontend/sidebar/components/assignees/user_name_with_status_spec.js b/spec/frontend/sidebar/components/assignees/user_name_with_status_spec.js new file mode 100644 index 00000000000..9483c6624c5 --- /dev/null +++ b/spec/frontend/sidebar/components/assignees/user_name_with_status_spec.js @@ -0,0 +1,51 @@ +import { GlSprintf } from '@gitlab/ui'; +import { shallowMount } from '@vue/test-utils'; +import { AVAILABILITY_STATUS } from '~/set_status_modal/utils'; +import UserNameWithStatus from '~/sidebar/components/assignees/user_name_with_status.vue'; + +const name = 'Goku'; +const containerClasses = 'gl-cool-class gl-over-9000'; + +describe('UserNameWithStatus', () => { + let wrapper; + + function createComponent(props = {}) { + return shallowMount(UserNameWithStatus, { + propsData: { name, containerClasses, ...props }, + stubs: { + GlSprintf, + }, + }); + } + + beforeEach(() => { + wrapper = createComponent(); + }); + + afterEach(() => { + wrapper.destroy(); + }); + + it('will render the users name', () => { + expect(wrapper.html()).toContain(name); + }); + + it('will not render "Busy"', () => { + expect(wrapper.html()).not.toContain('Busy'); + }); + + it('will render all relevant containerClasses', () => { + const classes = wrapper.find('span').classes().join(' '); + expect(classes).toBe(containerClasses); + }); + + describe(`with availability="${AVAILABILITY_STATUS.BUSY}"`, () => { + beforeEach(() => { + wrapper = createComponent({ availability: AVAILABILITY_STATUS.BUSY }); + }); + + it('will render "Busy"', () => { + expect(wrapper.html()).toContain('Goku (Busy)'); + }); + }); +}); |