summaryrefslogtreecommitdiff
path: root/spec/features/projects/snippets/user_updates_snippet_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/projects/snippets/user_updates_snippet_spec.rb')
-rw-r--r--spec/features/projects/snippets/user_updates_snippet_spec.rb25
1 files changed, 21 insertions, 4 deletions
diff --git a/spec/features/projects/snippets/user_updates_snippet_spec.rb b/spec/features/projects/snippets/user_updates_snippet_spec.rb
index 93a5b4a7262..0c3438575ba 100644
--- a/spec/features/projects/snippets/user_updates_snippet_spec.rb
+++ b/spec/features/projects/snippets/user_updates_snippet_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe 'Projects > Snippets > User updates a snippet' do
- let(:project) { create(:project) }
+ let_it_be(:user) { create(:user) }
+ let_it_be(:project) { create(:project, namespace: user.namespace) }
let!(:snippet) { create(:project_snippet, project: project, author: user) }
- let(:user) { create(:user) }
before do
stub_feature_flags(snippets_vue: false)
@@ -13,16 +13,33 @@ describe 'Projects > Snippets > User updates a snippet' do
sign_in(user)
visit(project_snippet_path(project, snippet))
- end
- it 'updates a snippet' do
page.within('.detail-page-header') do
first(:link, 'Edit').click
end
+ end
+ it 'updates a snippet' do
fill_in('project_snippet_title', with: 'Snippet new title')
click_button('Save')
expect(page).to have_content('Snippet new title')
end
+
+ context 'when the git operation fails' do
+ before do
+ allow_next_instance_of(Snippets::UpdateService) do |instance|
+ allow(instance).to receive(:create_commit).and_raise(StandardError)
+ end
+
+ fill_in('project_snippet_title', with: 'Snippet new title')
+
+ click_button('Save')
+ end
+
+ it 'renders edit page and displays the error' do
+ expect(page).to have_content('Error updating the snippet')
+ expect(page).to have_content('Edit Snippet')
+ end
+ end
end