diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-04-03 11:38:37 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-04-03 11:38:37 +0300 |
commit | 662d2e68173ecc8ee1bfe9dddf8cc38766bd310b (patch) | |
tree | 0366d87576231f7c3da07a54ee9bfa6955794810 /spec/features/container_registry_spec.rb | |
parent | fc550b398be6cdc4584dad79411929305815ffaa (diff) |
Refactor feature specs for container registry
Diffstat (limited to 'spec/features/container_registry_spec.rb')
-rw-r--r-- | spec/features/container_registry_spec.rb | 65 |
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 |