diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-18 00:09:20 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-18 00:09:20 +0300 |
commit | 06be418a7cd98a1c87c41ba43cca1ce9acbe885e (patch) | |
tree | 218a068630ae2dbe87b32a67a7f2b77d631e0db9 /spec | |
parent | eb1f5a3e087b7d6a3e85f2724b5a475cc9d9d37d (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r-- | spec/frontend/diffs/components/diff_file_row_spec.js | 16 | ||||
-rw-r--r-- | spec/frontend/fixtures/merge_requests.rb | 25 | ||||
-rw-r--r-- | spec/javascripts/user_popovers_spec.js | 12 |
3 files changed, 43 insertions, 10 deletions
diff --git a/spec/frontend/diffs/components/diff_file_row_spec.js b/spec/frontend/diffs/components/diff_file_row_spec.js index bd5b3afdc05..9b7a16d0cb5 100644 --- a/spec/frontend/diffs/components/diff_file_row_spec.js +++ b/spec/frontend/diffs/components/diff_file_row_spec.js @@ -2,6 +2,7 @@ import { shallowMount } from '@vue/test-utils'; import DiffFileRow from '~/diffs/components/diff_file_row.vue'; import FileRow from '~/vue_shared/components/file_row.vue'; import FileRowStats from '~/diffs/components/file_row_stats.vue'; +import ChangedFileIcon from '~/vue_shared/components/changed_file_icon.vue'; describe('Diff File Row component', () => { let wrapper; @@ -38,6 +39,21 @@ describe('Diff File Row component', () => { ); }); + it('renders ChangedFileIcon component', () => { + createComponent({ + level: 4, + file: {}, + hideFileStats: false, + }); + + expect(wrapper.find(ChangedFileIcon).props()).toEqual( + expect.objectContaining({ + file: {}, + size: 16, + }), + ); + }); + describe('FileRowStats components', () => { it.each` type | hideFileStats | value | desc diff --git a/spec/frontend/fixtures/merge_requests.rb b/spec/frontend/fixtures/merge_requests.rb index 4f004a69265..be11423ec41 100644 --- a/spec/frontend/fixtures/merge_requests.rb +++ b/spec/frontend/fixtures/merge_requests.rb @@ -10,20 +10,24 @@ describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: :cont let(:project) { create(:project, :repository, namespace: namespace, path: 'merge-requests-project') } # rubocop: disable Layout/TrailingWhitespace + let(:description) do + <<~MARKDOWN.strip_heredoc + - [ ] Task List Item + - [ ] + - [ ] Task List Item 2 + MARKDOWN + end + # rubocop: enable Layout/TrailingWhitespace + let(:merge_request) do create( :merge_request, :with_diffs, source_project: project, target_project: project, - description: <<~MARKDOWN.strip_heredoc - - [ ] Task List Item - - [ ] - - [ ] Task List Item 2 - MARKDOWN + description: description ) end - # rubocop: enable Layout/TrailingWhitespace let(:merged_merge_request) { create(:merge_request, :merged, source_project: project, target_project: project) } let(:pipeline) do @@ -122,6 +126,15 @@ describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: :cont end end + context 'with mentions' do + let(:group) { create(:group) } + let(:description) { "@#{group.full_path} @all @#{admin.username}" } + + it 'merge_requests/merge_request_with_mentions.html' do + render_merge_request(merge_request) + end + end + private def render_discussions_json(merge_request) diff --git a/spec/javascripts/user_popovers_spec.js b/spec/javascripts/user_popovers_spec.js index b3def474957..6ac22fca2d3 100644 --- a/spec/javascripts/user_popovers_spec.js +++ b/spec/javascripts/user_popovers_spec.js @@ -2,10 +2,10 @@ import initUserPopovers from '~/user_popovers'; import UsersCache from '~/lib/utils/users_cache'; describe('User Popovers', () => { - const fixtureTemplate = 'merge_requests/diff_comment.html'; + const fixtureTemplate = 'merge_requests/merge_request_with_mentions.html'; preloadFixtures(fixtureTemplate); - const selector = '.js-user-link'; + const selector = '.js-user-link, .gfm-project_member'; const dummyUser = { name: 'root' }; const dummyUserStatus = { message: 'active' }; @@ -34,8 +34,12 @@ describe('User Popovers', () => { popovers = initUserPopovers(document.querySelectorAll(selector)); }); - it('initializes a popover for each js-user-link element found in the document', () => { - expect(document.querySelectorAll(selector).length).toBe(popovers.length); + it('initializes a popover for each user link with a user id', () => { + const linksWithUsers = Array.from(document.querySelectorAll(selector)).filter( + ({ dataset }) => dataset.user || dataset.userId, + ); + + expect(linksWithUsers.length).toBe(popovers.length); }); it('does not initialize the user popovers twice for the same element', () => { |