diff options
Diffstat (limited to 'spec/serializers/fork_namespace_entity_spec.rb')
-rw-r--r-- | spec/serializers/fork_namespace_entity_spec.rb | 32 |
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 |