diff --git a/.rubocop_todo/style/inline_disable_annotation.yml b/.rubocop_todo/style/inline_disable_annotation.yml index 51e5455d9d37d5b25ebf0105d5b36e3125e46641..a353755aa7be8d2a1e39c7c62f6013b51ab0ec4f 100644 --- a/.rubocop_todo/style/inline_disable_annotation.yml +++ b/.rubocop_todo/style/inline_disable_annotation.yml @@ -2113,7 +2113,6 @@ Style/InlineDisableAnnotation: - 'ee/spec/models/vulnerabilities/read_spec.rb' - 'ee/spec/policies/group_policy_spec.rb' - 'ee/spec/presenters/approval_rule_presenter_spec.rb' - - 'ee/spec/presenters/ee/project_presenter_spec.rb' - 'ee/spec/presenters/ee/projects/import_export/project_export_presenter_spec.rb' - 'ee/spec/presenters/member_presenter_spec.rb' - 'ee/spec/requests/api/conan_project_packages_spec.rb' diff --git a/app/presenters/project_presenter.rb b/app/presenters/project_presenter.rb index a7c8f9a469df78746429a527d30415325e522f2e..70488a91808163c9847df76f066b4c8a4da4e250 100644 --- a/app/presenters/project_presenter.rb +++ b/app/presenters/project_presenter.rb @@ -171,12 +171,12 @@ def can_current_user_push_to_default_branch? end def storage_anchor_data - can_show_quota = can?(current_user, :admin_project, project) && !empty_repo? + return unless can?(current_user, :admin_project, project) && !empty_repo? AnchorData.new( true, statistic_icon('disk') + storage_anchor_text, - can_show_quota ? project_usage_quotas_path(project) : nil + project_usage_quotas_path(project) ) end diff --git a/ee/spec/presenters/ee/project_presenter_spec.rb b/ee/spec/presenters/ee/project_presenter_spec.rb deleted file mode 100644 index 065c8eef3aeed3f58f5d524d65e87b43faea0627..0000000000000000000000000000000000000000 --- a/ee/spec/presenters/ee/project_presenter_spec.rb +++ /dev/null @@ -1,62 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe ProjectPresenter, feature_category: :consumables_cost_management do - let(:user) { build_stubbed(:user) } - let_it_be(:root_project) { create(:project, :public) } # rubocop:disable RSpec/FactoryBot/AvoidCreate - - describe '#storage_anchor_text' do - let(:presenter) { described_class.new(project, current_user: user) } - - before do - stub_application_setting(check_namespace_plan: true) - stub_application_setting(namespace_storage_forks_cost_factor: 0.1) - end - - context 'when project is a fork' do - let_it_be_with_reload(:project) do - # rubocop:disable RSpec/FactoryBot/AvoidCreate - project_fork = create(:project, :public) - fork_network = create(:fork_network, root_project: root_project) - create(:fork_network_member, - fork_network: fork_network, - project: project_fork, - forked_from_project: root_project) - # rubocop:enable RSpec/FactoryBot/AvoidCreate - project_fork - end - - it 'returns storage anchor text with the cost factored storage size' do - project.statistics.update!(storage_size: 10.megabytes) - - expected_text = '<strong class="project-stat-value">1 MiB</strong> Forked Project' - expect(presenter.storage_anchor_data.label).to include expected_text - end - - context 'when feature flag is disabled' do - before do - stub_feature_flags(display_cost_factored_storage_size_on_project_pages: false) - end - - it 'returns storage anchor text without cost factored storage size' do - project.statistics.update!(storage_size: 10.megabytes) - - expected_text = '<strong class="project-stat-value">10 MiB</strong> Project Storage' - expect(presenter.storage_anchor_data.label).to include expected_text - end - end - end - - context 'when project is not a fork' do - let(:project) { root_project } - - it 'returns storage anchor text with the full storage size' do - project.statistics.update!(storage_size: 10.megabytes) - - expected_text = '<strong class="project-stat-value">10 MiB</strong> Project Storage' - expect(presenter.storage_anchor_data.label).to include expected_text - end - end - end -end diff --git a/spec/presenters/project_presenter_spec.rb b/spec/presenters/project_presenter_spec.rb index d7738023805b4717acc7e33cca4be6b001a5a793..a7e6bbf19d9d9e93bc59005b17ded13713d940b0 100644 --- a/spec/presenters/project_presenter_spec.rb +++ b/spec/presenters/project_presenter_spec.rb @@ -228,12 +228,8 @@ let_it_be(:project) { create(:project, :empty_repo) } describe '#storage_anchor_data' do - it 'returns storage data' do - expect(presenter.storage_anchor_data).to have_attributes( - is_link: true, - label: a_string_including('0 B'), - link: nil - ) + it 'does not return storage data' do + expect(presenter.storage_anchor_data).to be_nil end end @@ -282,12 +278,8 @@ let(:presenter) { described_class.new(project, current_user: user) } describe '#storage_anchor_data' do - it 'returns storage data without usage quotas link for non-admin users' do - expect(presenter.storage_anchor_data).to have_attributes( - is_link: true, - label: a_string_including('0 B'), - link: nil - ) + it 'does not return storage data for non-admin users' do + expect(presenter.storage_anchor_data).to be(nil) end it 'returns storage data with usage quotas link for admin users' do