summaryrefslogtreecommitdiff
path: root/spec/serializers/fork_namespace_entity_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/serializers/fork_namespace_entity_spec.rb')
-rw-r--r--spec/serializers/fork_namespace_entity_spec.rb32
1 files changed, 21 insertions, 11 deletions
diff --git a/spec/serializers/fork_namespace_entity_spec.rb b/spec/serializers/fork_namespace_entity_spec.rb
index 5e9918a89ff..32223b0d41a 100644
--- a/spec/serializers/fork_namespace_entity_spec.rb
+++ b/spec/serializers/fork_namespace_entity_spec.rb
@@ -9,12 +9,15 @@ RSpec.describe ForkNamespaceEntity do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project) }
let_it_be(:namespace) { create(:group, :with_avatar, description: 'test') }
+ let_it_be(:forked_project) { build(:project) }
let(:memberships) do
user.members.index_by(&:source_id)
end
- let(:entity) { described_class.new(namespace, current_user: user, project: project, memberships: memberships) }
+ let(:forked_projects) { { namespace.id => forked_project } }
+
+ let(:entity) { described_class.new(namespace, current_user: user, project: project, memberships: memberships, forked_projects: forked_projects) }
subject(:json) { entity.as_json }
@@ -46,10 +49,7 @@ RSpec.describe ForkNamespaceEntity do
end
it 'exposes forked_project_path when fork exists in namespace' do
- namespace.add_maintainer(user)
- fork_in_namespace = fork_project(project, user, namespace: namespace)
-
- expect(json[:forked_project_path]).to eql project_path(fork_in_namespace)
+ expect(json[:forked_project_path]).to eql project_path(forked_project)
end
it 'exposes relative path to the namespace' do
@@ -60,15 +60,25 @@ RSpec.describe ForkNamespaceEntity do
expect(json[:permission]).to eql 'Developer'
end
- it 'sets can_create_project to true when user can create projects in namespace' do
- allow(user).to receive(:can?).with(:create_projects, namespace).and_return(true)
-
+ it 'exposes can_create_project' do
expect(json[:can_create_project]).to be true
end
- it 'sets can_create_project to false when user is not allowed create projects in namespace' do
- allow(user).to receive(:can?).with(:create_projects, namespace).and_return(false)
+ context 'when fork_project_form feature flag is disabled' do
+ before do
+ stub_feature_flags(fork_project_form: false)
+ end
+
+ it 'sets can_create_project to true when user can create projects in namespace' do
+ allow(user).to receive(:can?).with(:create_projects, namespace).and_return(true)
- expect(json[:can_create_project]).to be false
+ expect(json[:can_create_project]).to be true
+ end
+
+ it 'sets can_create_project to false when user is not allowed create projects in namespace' do
+ allow(user).to receive(:can?).with(:create_projects, namespace).and_return(false)
+
+ expect(json[:can_create_project]).to be false
+ end
end
end