Skip to content
代码片段 群组 项目
提交 2f3d437c 编辑于 作者: Kerri Miller's avatar Kerri Miller
浏览文件

Merge branch 'project-storage-hide-if-no-permission' into 'master'

No related branches found
No related tags found
无相关合并请求
......@@ -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'
......
......@@ -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
......
# 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
......@@ -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
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册