diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-05-17 16:05:49 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-05-17 16:05:49 +0000 |
commit | 43a25d93ebdabea52f99b05e15b06250cd8f07d7 (patch) | |
tree | dceebdc68925362117480a5d672bcff122fb625b /spec/frontend/content_editor/components/wrappers/reference_spec.js | |
parent | 20c84b99005abd1c82101dfeff264ac50d2df211 (diff) | |
download | gitlab-ce-16.0.0-rc42.tar.gz |
Add latest changes from gitlab-org/gitlab@16-0-stable-eev16.0.0-rc4216-0-stable
Diffstat (limited to 'spec/frontend/content_editor/components/wrappers/reference_spec.js')
-rw-r--r-- | spec/frontend/content_editor/components/wrappers/reference_spec.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/frontend/content_editor/components/wrappers/reference_spec.js b/spec/frontend/content_editor/components/wrappers/reference_spec.js new file mode 100644 index 00000000000..828b92a6b1e --- /dev/null +++ b/spec/frontend/content_editor/components/wrappers/reference_spec.js @@ -0,0 +1,46 @@ +import { GlLink } from '@gitlab/ui'; +import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; +import ReferenceWrapper from '~/content_editor/components/wrappers/reference.vue'; + +describe('content/components/wrappers/reference', () => { + let wrapper; + + const createWrapper = (node = {}) => { + wrapper = shallowMountExtended(ReferenceWrapper, { + propsData: { node }, + }); + }; + + it('renders a span for commands', () => { + createWrapper({ attrs: { referenceType: 'command', text: '/assign' } }); + + const span = wrapper.find('span'); + expect(span.text()).toBe('/assign'); + }); + + it('renders an anchor for everything else', () => { + createWrapper({ attrs: { referenceType: 'issue', text: '#252522' } }); + + const link = wrapper.findComponent(GlLink); + expect(link.text()).toBe('#252522'); + }); + + it('adds gfm-project_member class for project members', () => { + createWrapper({ attrs: { referenceType: 'user', text: '@root' } }); + + const link = wrapper.findComponent(GlLink); + expect(link.text()).toBe('@root'); + expect(link.classes('gfm-project_member')).toBe(true); + expect(link.classes('current-user')).toBe(false); + }); + + it('adds a current-user class if the project member is current user', () => { + window.gon = { current_username: 'root' }; + + createWrapper({ attrs: { referenceType: 'user', text: '@root' } }); + + const link = wrapper.findComponent(GlLink); + expect(link.text()).toBe('@root'); + expect(link.classes('current-user')).toBe(true); + }); +}); |