diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-25 00:09:59 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-25 00:09:59 +0300 |
commit | 8a0ba602908b4360f52bf64fb715585d6245079e (patch) | |
tree | 0b9d005b11e26f2db40ce87d736abbb8fef7f755 /spec | |
parent | e9322e019bfeb7f33ce4c17662d93e6579303c2b (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec')
-rw-r--r-- | spec/features/dashboard/issues_spec.rb | 34 | ||||
-rw-r--r-- | spec/features/dashboard/merge_requests_spec.rb | 18 | ||||
-rw-r--r-- | spec/features/dashboard/milestones_spec.rb | 14 | ||||
-rw-r--r-- | spec/features/groups/empty_states_spec.rb | 14 | ||||
-rw-r--r-- | spec/features/groups/issues_spec.rb | 22 | ||||
-rw-r--r-- | spec/features/groups/merge_requests_spec.rb | 19 | ||||
-rw-r--r-- | spec/frontend/ide/utils_spec.js | 3 | ||||
-rw-r--r-- | spec/support/shared_examples/models/mentionable_shared_examples.rb | 36 | ||||
-rw-r--r-- | spec/views/profiles/notifications/show.html.haml_spec.rb | 29 |
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 |