summaryrefslogtreecommitdiff
path: root/spec/features
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-10 12:08:16 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-10 12:08:16 +0000
commit1fa79760ad2d4bd67f5c5a27f372a7533b9b7c69 (patch)
treeffdfbd9113743831ff4f1290959a62cf6567fde5 /spec/features
parent82fa8a3d1e8466ef36b58604d20fcc145ea12118 (diff)
downloadgitlab-ce-1fa79760ad2d4bd67f5c5a27f372a7533b9b7c69.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features')
-rw-r--r--spec/features/projects/container_registry_spec.rb11
-rw-r--r--spec/features/projects/snippets/create_snippet_spec.rb23
-rw-r--r--spec/features/snippets/user_creates_snippet_spec.rb23
3 files changed, 55 insertions, 2 deletions
diff --git a/spec/features/projects/container_registry_spec.rb b/spec/features/projects/container_registry_spec.rb
index b99dab39c34..de17d831fbd 100644
--- a/spec/features/projects/container_registry_spec.rb
+++ b/spec/features/projects/container_registry_spec.rb
@@ -126,6 +126,7 @@ describe 'Container Registry', :js do
describe 'image repo details' do
before do
+ stub_container_registry_tags(repository: %r{my/image}, tags: ('1'..'20').to_a, with_manifest: true)
visit_container_registry_details 'my/image'
end
@@ -140,12 +141,18 @@ describe 'Container Registry', :js do
it 'user removes a specific tag from container repository' do
service = double('service')
expect(service).to receive(:execute).with(container_repository) { { status: :success } }
- expect(Projects::ContainerRepository::DeleteTagsService).to receive(:new).with(container_repository.project, user, tags: ['latest']) { service }
+ expect(Projects::ContainerRepository::DeleteTagsService).to receive(:new).with(container_repository.project, user, tags: ['1']) { service }
- click_on(class: 'js-delete-registry')
+ first('.js-delete-registry').click
expect(find('.modal .modal-title')).to have_content _('Remove tag')
find('.modal .modal-footer .btn-danger').click
end
+
+ it('pagination navigate to the second page') do
+ pagination = find('.gl-pagination')
+ pagination.click_link('2')
+ expect(page).to have_content '20'
+ end
end
end
end
diff --git a/spec/features/projects/snippets/create_snippet_spec.rb b/spec/features/projects/snippets/create_snippet_spec.rb
index ee312a5811d..28d24073b79 100644
--- a/spec/features/projects/snippets/create_snippet_spec.rb
+++ b/spec/features/projects/snippets/create_snippet_spec.rb
@@ -95,6 +95,29 @@ shared_examples_for 'snippet editor' do
link = find('a.no-attachment-icon img[alt="banana_sample"]')['src']
expect(link).to match(%r{/#{Regexp.escape(project.full_path)}/uploads/\h{32}/banana_sample\.gif\z})
end
+
+ context 'when the git operation fails' do
+ let(:error) { 'This is a git error' }
+
+ before do
+ allow_next_instance_of(Snippets::CreateService) do |instance|
+ allow(instance).to receive(:create_commit).and_raise(StandardError, error)
+ end
+
+ fill_form
+
+ click_button('Create snippet')
+ wait_for_requests
+ end
+
+ it 'displays the error' do
+ expect(page).to have_content(error)
+ end
+
+ it 'renders new page' do
+ expect(page).to have_content('New Snippet')
+ end
+ end
end
context 'when a user is not authenticated' do
diff --git a/spec/features/snippets/user_creates_snippet_spec.rb b/spec/features/snippets/user_creates_snippet_spec.rb
index 88f7896bfa6..f200355c6d2 100644
--- a/spec/features/snippets/user_creates_snippet_spec.rb
+++ b/spec/features/snippets/user_creates_snippet_spec.rb
@@ -78,6 +78,29 @@ shared_examples_for 'snippet editor' do
expect(reqs.first.status_code).to eq(200)
end
+ context 'when the git operation fails' do
+ let(:error) { 'This is a git error' }
+
+ before do
+ allow_next_instance_of(Snippets::CreateService) do |instance|
+ allow(instance).to receive(:create_commit).and_raise(StandardError, error)
+ end
+
+ fill_form
+
+ click_button('Create snippet')
+ wait_for_requests
+ end
+
+ it 'displays the error' do
+ expect(page).to have_content(error)
+ end
+
+ it 'renders new page' do
+ expect(page).to have_content('New Snippet')
+ end
+ end
+
it 'validation fails for the first time' do
fill_in 'personal_snippet_title', with: 'My Snippet Title'
click_button('Create snippet')