Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-02-18 00:09:20 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-18 00:09:20 +0300
commit06be418a7cd98a1c87c41ba43cca1ce9acbe885e (patch)
tree218a068630ae2dbe87b32a67a7f2b77d631e0db9 /spec
parenteb1f5a3e087b7d6a3e85f2724b5a475cc9d9d37d (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/frontend/diffs/components/diff_file_row_spec.js16
-rw-r--r--spec/frontend/fixtures/merge_requests.rb25
-rw-r--r--spec/javascripts/user_popovers_spec.js12
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', () => {