Commit 6f4e3ebd authored by Mayra Cabrera's avatar Mayra Cabrera

Include EE modifications to clusterable files

- Deletes EE html specific view
- Overrides private methods on ClusterableActions
- Add ee specific specs
parent 392a56db
......@@ -3,6 +3,7 @@
module ClusterableActions
private
# Overridden on EE module
def multiple_clusters_available?
false
end
......
# frozen_string_literal: true
module EE
module ClusterableActions
extend ::Gitlab::Utils::Override
private
override :multiple_clusters_available?
def multiple_clusters_available?
subject.feature_available?(:multiple_clusters)
end
end
end
......@@ -82,3 +82,5 @@ module EE
end
end
end
EE::GroupPolicy.include(EE::ClusterableActions)
......@@ -212,3 +212,5 @@ module EE
end
end
end
EE::ProjectPolicy.include(EE::ClusterableActions)
.nav-controls
- if clusterable.feature_available?(:multiple_clusters)
= link_to s_("ClusterIntegration|Add Kubernetes cluster"), clusterable.new_path, class: "btn btn-success btn-add-cluster has-tooltip js-add-cluster"
- else
%span.btn.btn-add-cluster.disabled.js-add-cluster
= s_("ClusterIntegration|Add Kubernetes cluster")
......@@ -464,4 +464,15 @@ describe GroupPolicy do
it { is_expected.to be_disallowed(:read_group_security_dashboard) }
end
end
it_behaves_like 'ee clusterable policies' do
let(:clusterable) { create(:group) }
let(:cluster) do
create(:cluster,
:provided_by_gcp,
:group,
groups: [clusterable])
end
end
end
......@@ -697,4 +697,15 @@ describe ProjectPolicy do
it { is_expected.to be_disallowed(:create_web_ide_terminal) }
end
end
it_behaves_like 'ee clusterable policies' do
let(:clusterable) { create(:project, :repository) }
let(:cluster) do
create(:cluster,
:provided_by_gcp,
:project,
projects: [clusterable])
end
end
end
# frozen_string_literal: true
require 'spec_helper'
shared_examples 'ee clusterable policies' do
describe '#can_add_cluster?' do
let(:current_user) { create(:user) }
subject { described_class.new(current_user, clusterable) }
before do
clusterable.add_maintainer(current_user)
end
context 'when multiple_clusters feature is available' do
before do
stub_licensed_features(multiple_clusters: true)
end
context 'when clusterable has clusters' do
before do
cluster
end
it { is_expected.to be_allowed(:add_cluster) }
end
context 'when clusterable does not have clusters' do
it { is_expected.to be_allowed(:add_cluster) }
end
end
context 'when multiple_clusters feature is not available' do
before do
stub_licensed_features(multiple_clusters: false)
end
context 'when clusterable has clusters' do
before do
cluster
end
it { is_expected.to be_disallowed(:add_cluster) }
end
context 'when clusterable does not have clusters' do
it { is_expected.to be_allowed(:add_cluster) }
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment