diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-01-15 03:10:30 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-01-15 03:10:30 +0000 |
commit | c9bdf919932b7285ef9920bdac955459340da8fe (patch) | |
tree | c133d05b5cb003de0c6bb2234afb884f6882ccd9 /spec/frontend/snippets/components/snippet_header_spec.js | |
parent | 8b75948934667904196aba319aedda25b00f06ff (diff) | |
download | gitlab-ce-c9bdf919932b7285ef9920bdac955459340da8fe.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/snippets/components/snippet_header_spec.js')
-rw-r--r-- | spec/frontend/snippets/components/snippet_header_spec.js | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/spec/frontend/snippets/components/snippet_header_spec.js b/spec/frontend/snippets/components/snippet_header_spec.js index 5836de1fdbe..93a66db32c6 100644 --- a/spec/frontend/snippets/components/snippet_header_spec.js +++ b/spec/frontend/snippets/components/snippet_header_spec.js @@ -17,6 +17,8 @@ describe('Snippet header component', () => { let err; const originalRelativeUrlRoot = gon.relative_url_root; + const GlEmoji = { template: '<img/>' }; + function createComponent({ loading = false, permissions = {}, @@ -47,10 +49,15 @@ describe('Snippet header component', () => { }, stubs: { ApolloMutation, + GlEmoji, }, }); } + const findAuthorEmoji = () => wrapper.find(GlEmoji); + const findAuthoredMessage = () => wrapper.find('[data-testid="authored-message"]').text(); + const buttonCount = () => wrapper.findAll(GlButton).length; + beforeEach(() => { gon.relative_url_root = '/foo/'; snippet = { @@ -66,6 +73,7 @@ describe('Snippet header component', () => { project: null, author: { name: 'Thor Odinson', + status: null, }, blobs: [Blob], createdAt: new Date(differenceInMilliseconds(32 * 24 * 3600 * 1000)).toISOString(), @@ -100,17 +108,36 @@ describe('Snippet header component', () => { it('renders a message showing snippet creation date and author', () => { createComponent(); - const text = wrapper.find('[data-testid="authored-message"]').text(); + const text = findAuthoredMessage(); expect(text).toContain('Authored 1 month ago by'); expect(text).toContain('Thor Odinson'); }); + describe('author status', () => { + it('is rendered when it is set', () => { + snippet.author.status = { + message: 'At work', + emoji: 'hammer', + }; + createComponent(); + + expect(findAuthorEmoji().attributes('title')).toBe(snippet.author.status.message); + expect(findAuthorEmoji().attributes('data-name')).toBe(snippet.author.status.emoji); + }); + + it('is not rendered when the user has no status', () => { + createComponent(); + + expect(findAuthorEmoji().exists()).toBe(false); + }); + }); + it('renders a message showing only snippet creation date if author is null', () => { snippet.author = null; createComponent(); - const text = wrapper.find('[data-testid="authored-message"]').text(); + const text = findAuthoredMessage(); expect(text).toBe('Authored 1 month ago'); }); @@ -121,7 +148,7 @@ describe('Snippet header component', () => { updateSnippet: false, }, }); - expect(wrapper.findAll(GlButton).length).toEqual(0); + expect(buttonCount()).toEqual(0); createComponent({ permissions: { @@ -129,7 +156,7 @@ describe('Snippet header component', () => { updateSnippet: false, }, }); - expect(wrapper.findAll(GlButton).length).toEqual(1); + expect(buttonCount()).toEqual(1); createComponent({ permissions: { @@ -137,7 +164,7 @@ describe('Snippet header component', () => { updateSnippet: true, }, }); - expect(wrapper.findAll(GlButton).length).toEqual(2); + expect(buttonCount()).toEqual(2); createComponent({ permissions: { @@ -149,7 +176,7 @@ describe('Snippet header component', () => { canCreateSnippet: true, }); return wrapper.vm.$nextTick().then(() => { - expect(wrapper.findAll(GlButton).length).toEqual(3); + expect(buttonCount()).toEqual(3); }); }); |