Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-04-28 03:09:33 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-28 03:09:33 +0300
commit56df7f06f1e57d66efcff5d8ad0026252cc91192 (patch)
tree3e0ffb97bf20b9125cb04c18735e0df5f7570b55 /spec/controllers
parent579e85eb029c4ee66e8b8cd537a94b9e6cb0e58b (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/groups/registry/repositories_controller_spec.rb30
-rw-r--r--spec/controllers/projects/registry/repositories_controller_spec.rb28
2 files changed, 51 insertions, 7 deletions
diff --git a/spec/controllers/groups/registry/repositories_controller_spec.rb b/spec/controllers/groups/registry/repositories_controller_spec.rb
index a84664c6c04..7b78aeadbd8 100644
--- a/spec/controllers/groups/registry/repositories_controller_spec.rb
+++ b/spec/controllers/groups/registry/repositories_controller_spec.rb
@@ -6,12 +6,13 @@ describe Groups::Registry::RepositoriesController do
let_it_be(:user) { create(:user) }
let_it_be(:guest) { create(:user) }
let_it_be(:group, reload: true) { create(:group) }
+ let(:additional_parameters) { {} }
subject do
- get :index, params: {
+ get :index, params: additional_parameters.merge({
group_id: group,
format: format
- }
+ })
end
before do
@@ -36,6 +37,25 @@ describe Groups::Registry::RepositoriesController do
end
end
+ shared_examples 'with name parameter' do
+ let_it_be(:project) { create(:project, group: test_group) }
+ let_it_be(:repo) { create(:container_repository, project: project, name: 'my_searched_image') }
+ let_it_be(:another_repo) { create(:container_repository, project: project, name: 'bar') }
+
+ let(:additional_parameters) { { name: 'my_searched_image' } }
+
+ it 'returns the searched repo' do
+ subject
+
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(json_response.length).to eq 1
+ expect(json_response.first).to include(
+ 'id' => repo.id,
+ 'name' => repo.name
+ )
+ end
+ end
+
shared_examples 'renders correctly' do
context 'when user has access to registry' do
let_it_be(:test_group) { group }
@@ -64,6 +84,8 @@ describe Groups::Registry::RepositoriesController do
it_behaves_like 'renders a list of repositories'
+ it_behaves_like 'with name parameter'
+
it_behaves_like 'a gitlab tracking event', described_class.name, 'list_repositories'
context 'with project in subgroup' do
@@ -71,6 +93,8 @@ describe Groups::Registry::RepositoriesController do
it_behaves_like 'renders a list of repositories'
+ it_behaves_like 'with name parameter'
+
context 'with project in subgroup and group' do
let_it_be(:repo_in_test_group) { create_project_with_repo(test_group) }
let_it_be(:repo_in_group) { create_project_with_repo(group) }
@@ -81,6 +105,8 @@ describe Groups::Registry::RepositoriesController do
expect(json_response).to be_kind_of(Array)
expect(json_response.length).to eq 2
end
+
+ it_behaves_like 'with name parameter'
end
end
end
diff --git a/spec/controllers/projects/registry/repositories_controller_spec.rb b/spec/controllers/projects/registry/repositories_controller_spec.rb
index c641a45a216..badb84f9b50 100644
--- a/spec/controllers/projects/registry/repositories_controller_spec.rb
+++ b/spec/controllers/projects/registry/repositories_controller_spec.rb
@@ -3,8 +3,8 @@
require 'spec_helper'
describe Projects::Registry::RepositoriesController do
- let(:user) { create(:user) }
- let(:project) { create(:project, :private) }
+ let_it_be(:user) { create(:user) }
+ let_it_be(:project) { create(:project, :private) }
before do
sign_in(user)
@@ -16,6 +16,22 @@ describe Projects::Registry::RepositoriesController do
project.add_developer(user)
end
+ shared_examples 'with name parameter' do
+ let_it_be(:repo) { create(:container_repository, project: project, name: 'my_searched_image') }
+ let_it_be(:another_repo) { create(:container_repository, project: project, name: 'bar') }
+
+ it 'returns the searched repo' do
+ go_to_index(format: :json, params: { name: 'my_searched_image' })
+
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(json_response.length).to eq 1
+ expect(json_response.first).to include(
+ 'id' => repo.id,
+ 'name' => repo.name
+ )
+ end
+ end
+
shared_examples 'renders a list of repositories' do
context 'when root container repository exists' do
before do
@@ -60,6 +76,8 @@ describe Projects::Registry::RepositoriesController do
expect(response).to match_response_schema('registry/repositories')
expect(response).to include_pagination_headers
end
+
+ it_behaves_like 'with name parameter'
end
context 'when there are no tags for this repository' do
@@ -138,11 +156,11 @@ describe Projects::Registry::RepositoriesController do
end
end
- def go_to_index(format: :html)
- get :index, params: {
+ def go_to_index(format: :html, params: {} )
+ get :index, params: params.merge({
namespace_id: project.namespace,
project_id: project
- },
+ }),
format: format
end