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>2021-08-25 00:09:59 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-08-25 00:09:59 +0300
commit8a0ba602908b4360f52bf64fb715585d6245079e (patch)
tree0b9d005b11e26f2db40ce87d736abbb8fef7f755 /spec
parente9322e019bfeb7f33ce4c17662d93e6579303c2b (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r--spec/features/dashboard/issues_spec.rb34
-rw-r--r--spec/features/dashboard/merge_requests_spec.rb18
-rw-r--r--spec/features/dashboard/milestones_spec.rb14
-rw-r--r--spec/features/groups/empty_states_spec.rb14
-rw-r--r--spec/features/groups/issues_spec.rb22
-rw-r--r--spec/features/groups/merge_requests_spec.rb19
-rw-r--r--spec/frontend/ide/utils_spec.js3
-rw-r--r--spec/support/shared_examples/models/mentionable_shared_examples.rb36
-rw-r--r--spec/views/profiles/notifications/show.html.haml_spec.rb29
9 files changed, 34 insertions, 155 deletions
diff --git a/spec/features/dashboard/issues_spec.rb b/spec/features/dashboard/issues_spec.rb
index 0b2811618b5..fa77dd03b09 100644
--- a/spec/features/dashboard/issues_spec.rb
+++ b/spec/features/dashboard/issues_spec.rb
@@ -46,38 +46,4 @@ RSpec.describe 'Dashboard Issues' do
it_behaves_like "it has an RSS button with current_user's feed token"
it_behaves_like "an autodiscoverable RSS feed with current_user's feed token"
end
-
- describe 'new issue dropdown' do
- it 'shows projects only with issues feature enabled', :js do
- find('.new-project-item-select-button').click
-
- page.within('.select2-results') do
- expect(page).to have_content(project.full_name)
- expect(page).not_to have_content(project_with_issues_disabled.full_name)
- end
- end
-
- it 'shows the new issue page', :js do
- find('.new-project-item-select-button').click
-
- wait_for_requests
-
- project_path = "/#{project.full_path}"
- project_json = { name: project.full_name, url: project_path }.to_json
-
- # simulate selection, and prevent overlap by dropdown menu
- first('.project-item-select', visible: false)
- execute_script("$('.project-item-select').val('#{project_json}').trigger('change');")
- find('#select2-drop-mask', visible: false)
- execute_script("$('#select2-drop-mask').remove();")
-
- find('.new-project-item-link').click
-
- expect(page).to have_current_path("#{project_path}/-/issues/new")
-
- page.within('#content-body') do
- expect(page).to have_selector('.issue-form')
- end
- end
- end
end
diff --git a/spec/features/dashboard/merge_requests_spec.rb b/spec/features/dashboard/merge_requests_spec.rb
index aa2485d4236..95e87933110 100644
--- a/spec/features/dashboard/merge_requests_spec.rb
+++ b/spec/features/dashboard/merge_requests_spec.rb
@@ -25,24 +25,6 @@ RSpec.describe 'Dashboard Merge Requests' do
expect(page).not_to have_selector('#js-dropdown-target-branch', visible: false)
end
- context 'new merge request dropdown' do
- let(:project_with_disabled_merge_requests) { create(:project, :merge_requests_disabled) }
-
- before do
- project_with_disabled_merge_requests.add_maintainer(current_user)
- visit merge_requests_dashboard_path
- end
-
- it 'shows projects only with merge requests feature enabled', :js do
- find('.new-project-item-select-button').click
-
- page.within('.select2-results') do
- expect(page).to have_content(project.full_name)
- expect(page).not_to have_content(project_with_disabled_merge_requests.full_name)
- end
- end
- end
-
context 'no merge requests exist' do
it 'shows an empty state' do
visit merge_requests_dashboard_path(assignee_username: current_user.username)
diff --git a/spec/features/dashboard/milestones_spec.rb b/spec/features/dashboard/milestones_spec.rb
index 992ed2f2ce6..3f8d048efd6 100644
--- a/spec/features/dashboard/milestones_spec.rb
+++ b/spec/features/dashboard/milestones_spec.rb
@@ -32,20 +32,6 @@ RSpec.describe 'Dashboard > Milestones' do
expect(page).to have_content(group.name)
expect(first('.milestone')).to have_content('Merge requests')
end
-
- describe 'new milestones dropdown', :js do
- it 'takes user to a new milestone page', :js do
- find('.new-project-item-select-button').click
-
- page.within('.select2-results') do
- first('.select2-result-label').click
- end
-
- find('.new-project-item-link').click
-
- expect(current_path).to eq(new_group_milestone_path(group))
- end
- end
end
describe 'with merge requests disabled' do
diff --git a/spec/features/groups/empty_states_spec.rb b/spec/features/groups/empty_states_spec.rb
index 4488f53a03f..092e6179732 100644
--- a/spec/features/groups/empty_states_spec.rb
+++ b/spec/features/groups/empty_states_spec.rb
@@ -92,20 +92,6 @@ RSpec.describe 'Group empty states' do
it 'displays an empty state' do
expect(page).to have_selector('.empty-state')
end
-
- it "shows a new #{issuable_name} button" do
- within '.empty-state' do
- expect(page).to have_content("create #{issuable_name}")
- end
- end
-
- it "the new #{issuable_name} button opens a project dropdown" do
- within '.empty-state' do
- find('.new-project-item-select-button').click
- end
-
- expect(page).to have_selector('.ajax-project-dropdown')
- end
end
end
diff --git a/spec/features/groups/issues_spec.rb b/spec/features/groups/issues_spec.rb
index 21b39d2da46..6d04e3a227e 100644
--- a/spec/features/groups/issues_spec.rb
+++ b/spec/features/groups/issues_spec.rb
@@ -96,28 +96,6 @@ RSpec.describe 'Group issues page' do
end
end
- context 'projects with issues disabled' do
- describe 'issue dropdown' do
- let(:user_in_group) { create(:group_member, :maintainer, user: create(:user), group: group ).user }
-
- before do
- [project, project_with_issues_disabled].each { |project| project.add_maintainer(user_in_group) }
- sign_in(user_in_group)
- visit issues_group_path(group)
- end
-
- it 'shows projects only with issues feature enabled', :js do
- find('.empty-state .js-lazy-loaded')
- find('.empty-state .new-project-item-link').click
-
- page.within('.select2-results') do
- expect(page).to have_content(project.full_name)
- expect(page).not_to have_content(project_with_issues_disabled.full_name)
- end
- end
- end
- end
-
context 'manual ordering', :js do
let(:user_in_group) { create(:group_member, :maintainer, user: create(:user), group: group ).user }
diff --git a/spec/features/groups/merge_requests_spec.rb b/spec/features/groups/merge_requests_spec.rb
index 077f680629f..aad9be0ec8d 100644
--- a/spec/features/groups/merge_requests_spec.rb
+++ b/spec/features/groups/merge_requests_spec.rb
@@ -59,23 +59,6 @@ RSpec.describe 'Group merge requests page' do
end
end
- describe 'new merge request dropdown' do
- let(:project_with_merge_requests_disabled) { create(:project, :merge_requests_disabled, group: group) }
-
- before do
- visit path
- end
-
- it 'shows projects only with merge requests feature enabled', :js do
- find('.new-project-item-link').click
-
- page.within('.select2-results') do
- expect(page).to have_content(project.name_with_namespace)
- expect(page).not_to have_content(project_with_merge_requests_disabled.name_with_namespace)
- end
- end
- end
-
context 'empty state with no merge requests' do
before do
MergeRequest.delete_all
@@ -85,7 +68,6 @@ RSpec.describe 'Group merge requests page' do
visit path
expect(page).to have_selector('.empty-state')
- expect(page).to have_link('Select project to create merge request')
expect(page).not_to have_selector('.issues-filters')
end
@@ -95,7 +77,6 @@ RSpec.describe 'Group merge requests page' do
visit path
expect(page).to have_selector('.empty-state')
- expect(page).to have_link('Select project to create merge request')
expect(page).to have_selector('.issues-filters')
end
end
diff --git a/spec/frontend/ide/utils_spec.js b/spec/frontend/ide/utils_spec.js
index 2f58cd8f22a..2f8447af518 100644
--- a/spec/frontend/ide/utils_spec.js
+++ b/spec/frontend/ide/utils_spec.js
@@ -90,6 +90,9 @@ describe('WebIDE utils', () => {
it('returns true if there is a `binary` property already set on the file object', () => {
expect(isTextFile({ name: 'abc.txt', content: '' })).toBe(true);
expect(isTextFile({ name: 'abc.txt', content: '', binary: true })).toBe(false);
+
+ expect(isTextFile({ name: 'abc.tex', content: 'éêė' })).toBe(false);
+ expect(isTextFile({ name: 'abc.tex', content: 'éêė', binary: false })).toBe(true);
});
});
diff --git a/spec/support/shared_examples/models/mentionable_shared_examples.rb b/spec/support/shared_examples/models/mentionable_shared_examples.rb
index 07c5f730e95..e23658d1774 100644
--- a/spec/support/shared_examples/models/mentionable_shared_examples.rb
+++ b/spec/support/shared_examples/models/mentionable_shared_examples.rb
@@ -207,7 +207,7 @@ RSpec.shared_examples 'an editable mentionable' do
end
RSpec.shared_examples 'mentions in description' do |mentionable_type|
- shared_examples 'when storing user mentions' do
+ context 'when storing user mentions' do
before do
mentionable.store_mentions!
end
@@ -238,26 +238,10 @@ RSpec.shared_examples 'mentions in description' do |mentionable_type|
end
end
end
-
- context 'when store_mentions_without_subtransaction is enabled' do
- before do
- stub_feature_flags(store_mentions_without_subtransaction: true)
- end
-
- it_behaves_like 'when storing user mentions'
- end
-
- context 'when store_mentions_without_subtransaction is disabled' do
- before do
- stub_feature_flags(store_mentions_without_subtransaction: false)
- end
-
- it_behaves_like 'when storing user mentions'
- end
end
RSpec.shared_examples 'mentions in notes' do |mentionable_type|
- shared_examples 'when mentionable notes contain mentions' do
+ context 'when mentionable notes contain mentions' do
let(:user) { create(:user) }
let(:user2) { create(:user) }
let(:group) { create(:group) }
@@ -277,22 +261,6 @@ RSpec.shared_examples 'mentions in notes' do |mentionable_type|
expect(mentionable.referenced_groups(user)).to eq [group]
end
end
-
- context 'when store_mentions_without_subtransaction is enabled' do
- before do
- stub_feature_flags(store_mentions_without_subtransaction: true)
- end
-
- it_behaves_like 'when mentionable notes contain mentions'
- end
-
- context 'when store_mentions_without_subtransaction is disabled' do
- before do
- stub_feature_flags(store_mentions_without_subtransaction: false)
- end
-
- it_behaves_like 'when mentionable notes contain mentions'
- end
end
RSpec.shared_examples 'load mentions from DB' do |mentionable_type|
diff --git a/spec/views/profiles/notifications/show.html.haml_spec.rb b/spec/views/profiles/notifications/show.html.haml_spec.rb
new file mode 100644
index 00000000000..9cdf8124fcf
--- /dev/null
+++ b/spec/views/profiles/notifications/show.html.haml_spec.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe 'profiles/notifications/show' do
+ let(:groups) { GroupsFinder.new(user).execute.page(1) }
+ let(:user) { create(:user) }
+
+ before do
+ assign(:group_notifications, [])
+ assign(:project_notifications, [])
+ assign(:user, user)
+ assign(:user_groups, groups)
+ allow(controller).to receive(:current_user).and_return(user)
+ allow(view).to receive(:experiment_enabled?)
+ end
+
+ context 'when there is no database value for User#notification_email' do
+ let(:option_default) { _('Use primary email (%{email})') % { email: user.email } }
+ let(:option_primary_email) { user.email }
+ let(:options) { [option_default, option_primary_email] }
+
+ it 'displays the correct elements' do
+ render
+
+ expect(rendered).to have_select('user_notification_email', options: options, selected: nil)
+ end
+ end
+end