Skip to content
代码片段 群组 项目
提交 0135802c 编辑于 作者: Serena Fang's avatar Serena Fang
浏览文件

Move namespace helper method to ee

上级 96cf6f50
No related branches found
No related tags found
无相关合并请求
...@@ -88,12 +88,6 @@ def namespaces_as_json(selected = :current_user) ...@@ -88,12 +88,6 @@ def namespaces_as_json(selected = :current_user)
}.to_json }.to_json
end end
def show_minute_limit_banner?(namespace)
return false unless Gitlab.com? && ::Feature.enabled?(:show_minute_limit_banner)
namespace.root_ancestor.free_plan? && !minute_limit_banner_dismissed? ? true : false
end
private private
# Many importers create a temporary Group, so use the real # Many importers create a temporary Group, so use the real
......
...@@ -61,6 +61,12 @@ def buy_storage_url(namespace) ...@@ -61,6 +61,12 @@ def buy_storage_url(namespace)
buy_storage_subscriptions_url(selected_group: namespace.id) buy_storage_subscriptions_url(selected_group: namespace.id)
end end
def show_minute_limit_banner?(namespace)
return false unless ::Gitlab.com? && ::Feature.enabled?(:show_minute_limit_banner)
namespace.root_ancestor.free_plan? && !minute_limit_banner_dismissed? ? true : false
end
private private
def use_customers_dot_for_addon_path?(namespace) def use_customers_dot_for_addon_path?(namespace)
......
...@@ -222,4 +222,46 @@ ...@@ -222,4 +222,46 @@
end end
end end
end end
describe '#show_minute_limit_banner?' do
let(:project) { create(:project) }
context 'on dot com' do
using RSpec::Parameterized::TableSyntax
where(:feature_flag_enabled, :free_project, :user_dismissed_banner, :should_show_banner) do
true | true | false | true
true | true | true | false
true | false | false | false
false | true | false | false
end
with_them do
before do
allow(Gitlab).to receive(:com?).and_return(true)
stub_feature_flags(show_minute_limit_banner: feature_flag_enabled)
allow(project.root_ancestor).to receive(:free_plan?).and_return(free_project)
allow(helper).to receive(:user_dismissed?).with('minute_limit_banner').and_return(user_dismissed_banner)
end
it 'shows the banner if required' do
expect(helper.show_minute_limit_banner?(project)).to eq(should_show_banner)
end
end
end
context 'not dot com' do
context 'when feature flag is enabled for a free project and user has not dismissed callout' do
before do
stub_feature_flags(show_minute_limit_banner: true)
allow(project.root_ancestor).to receive(:free_plan?).and_return(true)
allow(helper).to receive(:user_dismissed?).with('minute_limit_banner').and_return(false)
end
it 'does not show banner' do
expect(helper.show_minute_limit_banner?(project)).to eq(false)
end
end
end
end
end end
...@@ -268,46 +268,4 @@ ...@@ -268,46 +268,4 @@
end end
end end
end end
describe '#show_minute_limit_banner?' do
let(:project) { create(:project) }
context 'on dot com' do
using RSpec::Parameterized::TableSyntax
where(:feature_flag_enabled, :free_project, :user_dismissed_banner, :should_show_banner) do
true | true | false | true
true | true | true | false
true | false | false | false
false | true | false | false
end
with_them do
before do
allow(Gitlab).to receive(:com?).and_return(true)
stub_feature_flags(show_minute_limit_banner: feature_flag_enabled)
allow(project.root_ancestor).to receive(:free_plan?).and_return(free_project)
allow(helper).to receive(:user_dismissed?).with(Users::CalloutsHelper::MINUTE_LIMIT_BANNER).and_return(user_dismissed_banner)
end
it 'shows the banner if required' do
expect(helper.show_minute_limit_banner?(project)).to eq(should_show_banner)
end
end
end
context 'not dot com' do
context 'when feature flag is enabled for a free project and user has not dismissed callout' do
before do
stub_feature_flags(show_minute_limit_banner: true)
allow(project.root_ancestor).to receive(:free_plan?).and_return(true)
allow(helper).to receive(:user_dismissed?).with(Users::CalloutsHelper::MINUTE_LIMIT_BANNER).and_return(false)
end
it 'does not show banner' do
expect(helper.show_minute_limit_banner?(project)).to eq(false)
end
end
end
end
end end
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册