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:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-04-03 11:38:37 +0300
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-04-03 11:38:37 +0300
commit662d2e68173ecc8ee1bfe9dddf8cc38766bd310b (patch)
tree0366d87576231f7c3da07a54ee9bfa6955794810 /spec/features/container_registry_spec.rb
parentfc550b398be6cdc4584dad79411929305815ffaa (diff)
Refactor feature specs for container registry
Diffstat (limited to 'spec/features/container_registry_spec.rb')
-rw-r--r--spec/features/container_registry_spec.rb65
1 files changed, 33 insertions, 32 deletions
diff --git a/spec/features/container_registry_spec.rb b/spec/features/container_registry_spec.rb
index 530e6af92d3..42431cbe731 100644
--- a/spec/features/container_registry_spec.rb
+++ b/spec/features/container_registry_spec.rb
@@ -1,59 +1,60 @@
require 'spec_helper'
describe "Container Registry" do
+ let(:user) { create(:user) }
let(:project) { create(:empty_project) }
- let(:registry) { project.container_registry }
- let(:tag_name) { 'latest' }
- let(:tags) { [tag_name] }
- let(:container_repository) { create(:container_repository) }
- let(:image_name) { container_repository.name }
+
+ let(:container_repository) do
+ create(:container_repository, name: 'my/image')
+ end
before do
- login_as(:user)
- project.team << [@user, :developer]
+ login_as(user)
+ project.add_developer(user)
stub_container_registry_config(enabled: true)
- stub_container_registry_tags(*tags)
- project.container_repositories << container_repository unless container_repository.nil?
+ stub_container_registry_tags(%w[latest])
end
- describe 'GET /:project/container_registry' do
- before do
- visit namespace_project_container_registry_index_path(project.namespace, project)
- end
-
- context 'when no images' do
- let(:container_repository) { }
-
- it { expect(page).to have_content('No container images in Container Registry for this project') }
- end
+ context 'when there are no image repositories' do
+ scenario 'user visits container registry main page' do
+ visit_container_registry
- context 'when there are images' do
- it { expect(page).to have_content(image_name) }
+ expect(page).to have_content 'No container images'
end
end
- describe 'DELETE /:project/container_registry/:image_id' do
+ context 'when there are image repositories' do
before do
- visit namespace_project_container_registry_index_path(project.namespace, project)
+ project.container_repositories << container_repository
+ end
+
+ scenario 'user wants to see multi-level container repository' do
+ visit_container_registry
+
+ expect(page).to have_content('my/image')
end
- it do
+ scenario 'user removes entire container repository' do
+ visit_container_registry
+
expect_any_instance_of(ContainerRepository)
.to receive(:delete_tags!).and_return(true)
- click_on 'Remove image'
+ click_on 'Remove repository'
end
- end
- describe 'DELETE /:project/container_registry/tag' do
- before do
- visit namespace_project_container_registry_index_path(project.namespace, project)
- end
+ scenario 'user removes a specific tag from container repository' do
+ visit_container_registry
- it do
- expect_any_instance_of(::ContainerRegistry::Tag).to receive(:delete).and_return(true)
+ expect_any_instance_of(ContainerRegistry::Tag)
+ .to receive(:delete).and_return(true)
click_on 'Remove tag'
end
end
+
+ def visit_container_registry
+ visit namespace_project_container_registry_index_path(
+ project.namespace, project)
+ end
end