diff options
author | Thong Kuah <tkuah@gitlab.com> | 2019-08-15 23:57:38 +0000 |
---|---|---|
committer | Thong Kuah <tkuah@gitlab.com> | 2019-08-15 23:57:38 +0000 |
commit | f4ce990b0e2811cd2c3391fc5f11de990bc54f16 (patch) | |
tree | 34bfb064d8cdec92337d59f9904a64850b8a47d7 /spec/controllers | |
parent | bd5c259a0bb94cb601a3c0f017c383731ac868e6 (diff) | |
parent | f3de7855f90ed6785f546ed4831e3cc9d34c63ad (diff) | |
download | gitlab-ce-f4ce990b0e2811cd2c3391fc5f11de990bc54f16.tar.gz |
Merge branch '24705-multi-selection-for-delete-on-registry-page' into 'master'
Resolve "Multi selection for delete on registry page"
Closes #24705
See merge request gitlab-org/gitlab-ce!30837
Diffstat (limited to 'spec/controllers')
-rw-r--r-- | spec/controllers/projects/registry/tags_controller_spec.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/controllers/projects/registry/tags_controller_spec.rb b/spec/controllers/projects/registry/tags_controller_spec.rb index ff35139ae2e..c6e063d8229 100644 --- a/spec/controllers/projects/registry/tags_controller_spec.rb +++ b/spec/controllers/projects/registry/tags_controller_spec.rb @@ -113,4 +113,37 @@ describe Projects::Registry::TagsController do format: :json end end + + describe 'POST bulk_destroy' do + context 'when user has access to registry' do + before do + project.add_developer(user) + end + + context 'when there is matching tag present' do + before do + stub_container_registry_tags(repository: repository.path, tags: %w[rc1 test.]) + end + + it 'makes it possible to delete tags in bulk' do + allow_any_instance_of(ContainerRegistry::Tag).to receive(:delete) { |*args| ContainerRegistry::Tag.delete(*args) } + expect(ContainerRegistry::Tag).to receive(:delete).exactly(2).times + + bulk_destroy_tags(['rc1', 'test.']) + end + end + end + + private + + def bulk_destroy_tags(names) + post :bulk_destroy, params: { + namespace_id: project.namespace, + project_id: project, + repository_id: repository, + ids: names + }, + format: :json + end + end end |