diff options
Diffstat (limited to 'spec/helpers')
-rw-r--r-- | spec/helpers/application_helper_spec.rb | 4 | ||||
-rw-r--r-- | spec/helpers/blob_helper_spec.rb | 62 | ||||
-rw-r--r-- | spec/helpers/button_helper_spec.rb | 2 | ||||
-rw-r--r-- | spec/helpers/diff_helper_spec.rb | 26 | ||||
-rw-r--r-- | spec/helpers/icons_helper_spec.rb | 2 | ||||
-rw-r--r-- | spec/helpers/search_helper_spec.rb | 31 | ||||
-rw-r--r-- | spec/helpers/sorting_helper_spec.rb | 1 | ||||
-rw-r--r-- | spec/helpers/storage_helper_spec.rb | 6 | ||||
-rw-r--r-- | spec/helpers/user_callouts_helper_spec.rb | 17 |
9 files changed, 80 insertions, 71 deletions
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index a557e9e04da..c7470f31ad8 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -116,9 +116,9 @@ RSpec.describe ApplicationHelper do Time.use_zone('UTC') { example.run } end - def element(*arguments) + def element(**arguments) @time = Time.zone.parse('2015-07-02 08:23') - element = helper.time_ago_with_tooltip(@time, *arguments) + element = helper.time_ago_with_tooltip(@time, **arguments) Nokogiri::HTML::DocumentFragment.parse(element).first_element_child end diff --git a/spec/helpers/blob_helper_spec.rb b/spec/helpers/blob_helper_spec.rb index cafe4c4275e..764c582e987 100644 --- a/spec/helpers/blob_helper_spec.rb +++ b/spec/helpers/blob_helper_spec.rb @@ -236,53 +236,41 @@ RSpec.describe BlobHelper do let(:data) { File.read(Rails.root.join('spec/support/gitlab_stubs/gitlab_ci.yml')) } let(:blob) { fake_blob(path: Gitlab::FileDetector::PATTERNS[:gitlab_ci], data: data) } - context 'feature enabled' do - it 'is true' do - expect(helper.show_suggest_pipeline_creation_celebration?).to be_truthy - end + it 'is true' do + expect(helper.show_suggest_pipeline_creation_celebration?).to be_truthy + end - context 'file is invalid format' do - let(:data) { 'foo' } + context 'file is invalid format' do + let(:data) { 'foo' } - it 'is false' do - expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey - end + it 'is false' do + expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey end + end - context 'does not use the default ci config' do - before do - project.ci_config_path = 'something_bad' - end - - it 'is false' do - expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey - end + context 'does not use the default ci config' do + before do + project.ci_config_path = 'something_bad' end - context 'does not have the needed cookie' do - before do - helper.request.cookies.delete "suggest_gitlab_ci_yml_commit_#{project.id}" - end - - it 'is false' do - expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey - end + it 'is false' do + expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey end + end - context 'blob does not have auxiliary view' do - before do - allow(blob).to receive(:auxiliary_viewer).and_return(nil) - end + context 'does not have the needed cookie' do + before do + helper.request.cookies.delete "suggest_gitlab_ci_yml_commit_#{project.id}" + end - it 'is false' do - expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey - end + it 'is false' do + expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey end end - context 'feature disabled' do + context 'blob does not have auxiliary view' do before do - stub_feature_flags(suggest_pipeline: false) + allow(blob).to receive(:auxiliary_viewer).and_return(nil) end it 'is false' do @@ -294,10 +282,8 @@ RSpec.describe BlobHelper do context 'when file is not a pipeline config file' do let(:blob) { fake_blob(path: 'LICENSE') } - context 'feature enabled' do - it 'is false' do - expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey - end + it 'is false' do + expect(helper.show_suggest_pipeline_creation_celebration?).to be_falsey end end end diff --git a/spec/helpers/button_helper_spec.rb b/spec/helpers/button_helper_spec.rb index 6a5cb73281e..ecb9c98b1bf 100644 --- a/spec/helpers/button_helper_spec.rb +++ b/spec/helpers/button_helper_spec.rb @@ -89,7 +89,7 @@ RSpec.describe ButtonHelper do it 'shows a warning on the dropdown description' do description = element.search('.dropdown-menu-inner-content').first - expect(description.inner_text).to eq "You won't be able to pull or push project code via SSH until you add an SSH key to your profile" + expect(description.inner_text).to eq "You won't be able to pull or push repositories via SSH until you add an SSH key to your profile" end end diff --git a/spec/helpers/diff_helper_spec.rb b/spec/helpers/diff_helper_spec.rb index c085c3bdbd9..3580959fde0 100644 --- a/spec/helpers/diff_helper_spec.rb +++ b/spec/helpers/diff_helper_spec.rb @@ -358,30 +358,4 @@ RSpec.describe DiffHelper do expect(diff_file_path_text(diff_file, max: 10)).to eq("...open.rb") end end - - describe 'unified_diff_lines_view_type' do - before do - controller.params[:view] = 'parallel' - end - - describe 'unified diffs enabled' do - before do - stub_feature_flags(unified_diff_lines: true) - end - - it 'returns inline view' do - expect(helper.unified_diff_lines_view_type(project)).to eq 'inline' - end - end - - describe 'unified diffs disabled' do - before do - stub_feature_flags(unified_diff_lines: false) - end - - it 'returns parallel view' do - expect(helper.unified_diff_lines_view_type(project)).to eq :parallel - end - end - end end diff --git a/spec/helpers/icons_helper_spec.rb b/spec/helpers/icons_helper_spec.rb index c05b2b206cc..357ca0afe46 100644 --- a/spec/helpers/icons_helper_spec.rb +++ b/spec/helpers/icons_helper_spec.rb @@ -86,7 +86,7 @@ RSpec.describe IconsHelper do it 'does not raise in production mode' do stub_rails_env('production') - expect(File).not_to receive(:read) + expect_file_not_to_read(Rails.root.join('node_modules/@gitlab/svgs/dist/icons.json')) expect { sprite_icon(non_existing) }.not_to raise_error end diff --git a/spec/helpers/search_helper_spec.rb b/spec/helpers/search_helper_spec.rb index 34af3ce7e5e..208fba4a7f9 100644 --- a/spec/helpers/search_helper_spec.rb +++ b/spec/helpers/search_helper_spec.rb @@ -104,6 +104,37 @@ RSpec.describe SearchHelper do }) end + it 'includes the users recently viewed issues with the exact same name', :aggregate_failures do + recent_issues = instance_double(::Gitlab::Search::RecentIssues) + expect(::Gitlab::Search::RecentIssues).to receive(:new).with(user: user).and_return(recent_issues) + project1 = create(:project, namespace: user.namespace) + project2 = create(:project, namespace: user.namespace) + issue1 = create(:issue, title: 'issue same_name', project: project1) + issue2 = create(:issue, title: 'issue same_name', project: project2) + + expect(recent_issues).to receive(:search).with('the search term').and_return(Issue.id_in_ordered([issue1.id, issue2.id])) + + results = search_autocomplete_opts("the search term") + + expect(results.count).to eq(2) + + expect(results[0]).to include({ + category: 'Recent issues', + id: issue1.id, + label: 'issue same_name', + url: Gitlab::Routing.url_helpers.project_issue_path(issue1.project, issue1), + avatar_url: '' # This project didn't have an avatar so set this to '' + }) + + expect(results[1]).to include({ + category: 'Recent issues', + id: issue2.id, + label: 'issue same_name', + url: Gitlab::Routing.url_helpers.project_issue_path(issue2.project, issue2), + avatar_url: '' # This project didn't have an avatar so set this to '' + }) + end + it 'includes the users recently viewed merge requests', :aggregate_failures do recent_merge_requests = instance_double(::Gitlab::Search::RecentMergeRequests) expect(::Gitlab::Search::RecentMergeRequests).to receive(:new).with(user: user).and_return(recent_merge_requests) diff --git a/spec/helpers/sorting_helper_spec.rb b/spec/helpers/sorting_helper_spec.rb index 1c300aea2df..2d581dfba37 100644 --- a/spec/helpers/sorting_helper_spec.rb +++ b/spec/helpers/sorting_helper_spec.rb @@ -77,6 +77,7 @@ RSpec.describe SortingHelper do sort_value_latest_activity => sort_title_latest_activity, sort_value_recently_created => sort_title_created_date, sort_value_name => sort_title_name, + sort_value_name_desc => sort_title_name_desc, sort_value_stars_desc => sort_title_stars } end diff --git a/spec/helpers/storage_helper_spec.rb b/spec/helpers/storage_helper_spec.rb index 255ec2a41b4..2cec7203fe1 100644 --- a/spec/helpers/storage_helper_spec.rb +++ b/spec/helpers/storage_helper_spec.rb @@ -32,10 +32,12 @@ RSpec.describe StorageHelper do wiki_size: 10.bytes, lfs_objects_size: 20.gigabytes, build_artifacts_size: 30.megabytes, - snippets_size: 40.megabytes)) + snippets_size: 40.megabytes, + packages_size: 12.megabytes, + uploads_size: 15.megabytes)) end - let(:message) { 'Repository: 10 KB / Wikis: 10 Bytes / Build Artifacts: 30 MB / LFS: 20 GB / Snippets: 40 MB' } + let(:message) { 'Repository: 10 KB / Wikis: 10 Bytes / Build Artifacts: 30 MB / LFS: 20 GB / Snippets: 40 MB / Packages: 12 MB / Uploads: 15 MB' } it 'works on ProjectStatistics' do expect(helper.storage_counters_details(project.statistics)).to eq(message) diff --git a/spec/helpers/user_callouts_helper_spec.rb b/spec/helpers/user_callouts_helper_spec.rb index 4ab3be877b4..250aedda906 100644 --- a/spec/helpers/user_callouts_helper_spec.rb +++ b/spec/helpers/user_callouts_helper_spec.rb @@ -167,8 +167,20 @@ RSpec.describe UserCalloutsHelper do subject { helper.show_registration_enabled_user_callout? } + context 'when on gitlab.com' do + before do + allow(::Gitlab).to receive(:com?).and_return(true) + allow(helper).to receive(:current_user).and_return(admin) + stub_application_setting(signup_enabled: true) + allow(helper).to receive(:user_dismissed?).with(described_class::REGISTRATION_ENABLED_CALLOUT) { false } + end + + it { is_expected.to be false } + end + context 'when `current_user` is not an admin' do before do + allow(::Gitlab).to receive(:com?).and_return(false) allow(helper).to receive(:current_user).and_return(user) stub_application_setting(signup_enabled: true) allow(helper).to receive(:user_dismissed?).with(described_class::REGISTRATION_ENABLED_CALLOUT) { false } @@ -179,6 +191,7 @@ RSpec.describe UserCalloutsHelper do context 'when signup is disabled' do before do + allow(::Gitlab).to receive(:com?).and_return(false) allow(helper).to receive(:current_user).and_return(admin) stub_application_setting(signup_enabled: false) allow(helper).to receive(:user_dismissed?).with(described_class::REGISTRATION_ENABLED_CALLOUT) { false } @@ -189,6 +202,7 @@ RSpec.describe UserCalloutsHelper do context 'when user has dismissed callout' do before do + allow(::Gitlab).to receive(:com?).and_return(false) allow(helper).to receive(:current_user).and_return(admin) stub_application_setting(signup_enabled: true) allow(helper).to receive(:user_dismissed?).with(described_class::REGISTRATION_ENABLED_CALLOUT) { true } @@ -197,8 +211,9 @@ RSpec.describe UserCalloutsHelper do it { is_expected.to be false } end - context 'when `current_user` is an admin, signup is enabled, and user has not dismissed callout' do + context 'when not gitlab.com, `current_user` is an admin, signup is enabled, and user has not dismissed callout' do before do + allow(::Gitlab).to receive(:com?).and_return(false) allow(helper).to receive(:current_user).and_return(admin) stub_application_setting(signup_enabled: true) allow(helper).to receive(:user_dismissed?).with(described_class::REGISTRATION_ENABLED_CALLOUT) { false } |