blob: 828b92a6b1e8e09d52cc5ca209b4a90b08491b79 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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);
});
});
|