diff options
Diffstat (limited to 'spec/requests/api/projects_spec.rb')
-rw-r--r-- | spec/requests/api/projects_spec.rb | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 06d27dcb87f..288f8480a5b 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -231,7 +231,6 @@ RSpec.describe API::Projects do end it 'includes correct value of container_registry_enabled', :aggregate_failures do - project.update_column(:container_registry_enabled, true) project.project_feature.update!(container_registry_access_level: ProjectFeature::DISABLED) get api('/projects', user) @@ -1113,6 +1112,16 @@ RSpec.describe API::Projects do expect(Project.find_by(path: project[:path]).container_registry_access_level).to eq(ProjectFeature::ENABLED) end + it 'assigns container_registry_enabled to project' do + project = attributes_for(:project, { container_registry_enabled: true }) + + post api('/projects', user), params: project + + expect(response).to have_gitlab_http_status(:created) + expect(json_response['container_registry_enabled']).to eq(true) + expect(Project.find_by(path: project[:path]).container_registry_access_level).to eq(ProjectFeature::ENABLED) + end + it 'creates a project using a template' do expect { post api('/projects', user), params: { template_name: 'rails', name: 'rails-test' } } .to change { Project.count }.by(1) @@ -1560,6 +1569,18 @@ RSpec.describe API::Projects do expect(json_response['error']).to eq('name is missing') end + it 'sets container_registry_enabled' do + project = attributes_for(:project).tap do |attrs| + attrs[:container_registry_enabled] = true + end + + post api("/projects/user/#{user.id}", admin), params: project + + expect(response).to have_gitlab_http_status(:created) + expect(json_response['container_registry_enabled']).to eq(true) + expect(Project.find_by(path: project[:path]).container_registry_access_level).to eq(ProjectFeature::ENABLED) + end + it 'assigns attributes to project' do project = attributes_for(:project, { issues_enabled: false, @@ -3050,6 +3071,16 @@ RSpec.describe API::Projects do expect(Project.find_by(path: project[:path]).container_registry_access_level).to eq(ProjectFeature::PRIVATE) end + it 'sets container_registry_enabled' do + project.project_feature.update!(container_registry_access_level: ProjectFeature::DISABLED) + + put(api("/projects/#{project.id}", user), params: { container_registry_enabled: true }) + + expect(response).to have_gitlab_http_status(:ok) + expect(json_response['container_registry_enabled']).to eq(true) + expect(project.reload.container_registry_access_level).to eq(ProjectFeature::ENABLED) + end + it 'returns 400 when nothing sent' do project_param = {} |