diff options
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); + }); +}); |