diff options
author | Rémy Coutable <remy@rymai.me> | 2017-07-05 15:04:05 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-07-05 15:04:05 +0000 |
commit | d9a5d9214002a2895aaf0c598bef985b2b4ddc57 (patch) | |
tree | 7860a16b315f175a1476c3650bdadfcf53f0a43d /spec/features/snippets | |
parent | 45ee128e9c203b02dd7d68da2d9caeaf8a0cf02d (diff) | |
parent | 9651521ea7f1cd4d77f7ab11359d8b0075b52fa6 (diff) | |
download | gitlab-ce-d9a5d9214002a2895aaf0c598bef985b2b4ddc57.tar.gz |
Merge branch '23036-replace-snippets-spinach' into 'master'
Replace 'snippets/snippets.feature' spinach with rspec
See merge request !12385
Diffstat (limited to 'spec/features/snippets')
-rw-r--r-- | spec/features/snippets/user_creates_snippet_spec.rb (renamed from spec/features/snippets/create_snippet_spec.rb) | 6 | ||||
-rw-r--r-- | spec/features/snippets/user_deletes_snippet_spec.rb | 19 | ||||
-rw-r--r-- | spec/features/snippets/user_edits_snippet_spec.rb (renamed from spec/features/snippets/edit_snippet_spec.rb) | 26 |
3 files changed, 46 insertions, 5 deletions
diff --git a/spec/features/snippets/create_snippet_spec.rb b/spec/features/snippets/user_creates_snippet_spec.rb index ac5c14ed427..57dec14b480 100644 --- a/spec/features/snippets/create_snippet_spec.rb +++ b/spec/features/snippets/user_creates_snippet_spec.rb @@ -1,10 +1,12 @@ require 'rails_helper' -feature 'Create Snippet', :js, feature: true do +feature 'User creates snippet', :js, feature: true do include DropzoneHelper + let(:user) { create(:user) } + before do - gitlab_sign_in :user + sign_in(user) visit new_snippet_path end diff --git a/spec/features/snippets/user_deletes_snippet_spec.rb b/spec/features/snippets/user_deletes_snippet_spec.rb new file mode 100644 index 00000000000..162c2c9e730 --- /dev/null +++ b/spec/features/snippets/user_deletes_snippet_spec.rb @@ -0,0 +1,19 @@ +require 'rails_helper' + +feature 'User deletes snippet', feature: true do + let(:user) { create(:user) } + let(:content) { 'puts "test"' } + let(:snippet) { create(:personal_snippet, :public, content: content, author: user) } + + before do + sign_in(user) + + visit snippet_path(snippet) + end + + it 'deletes the snippet' do + first(:link, 'Delete').click + + expect(page).not_to have_content(snippet.title) + end +end diff --git a/spec/features/snippets/edit_snippet_spec.rb b/spec/features/snippets/user_edits_snippet_spec.rb index 860e1b156d6..cff64423873 100644 --- a/spec/features/snippets/edit_snippet_spec.rb +++ b/spec/features/snippets/user_edits_snippet_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -feature 'Edit Snippet', :js, feature: true do +feature 'User edits snippet', :js, feature: true do include DropzoneHelper let(:file_name) { 'test.rb' } @@ -10,7 +10,7 @@ feature 'Edit Snippet', :js, feature: true do let(:snippet) { create(:personal_snippet, :public, file_name: file_name, content: content, author: user) } before do - gitlab_sign_in(user) + sign_in(user) visit edit_snippet_path(snippet) wait_for_requests @@ -27,7 +27,7 @@ feature 'Edit Snippet', :js, feature: true do it 'updates the snippet with files attached' do dropzone_file Rails.root.join('spec', 'fixtures', 'banana_sample.gif') - expect(page.find_field("personal_snippet_description").value).to have_content('banana_sample') + expect(page.find_field('personal_snippet_description').value).to have_content('banana_sample') click_button('Save changes') wait_for_requests @@ -35,4 +35,24 @@ feature 'Edit Snippet', :js, feature: true do link = find('a.no-attachment-icon img[alt="banana_sample"]')['src'] expect(link).to match(%r{/uploads/personal_snippet/#{snippet.id}/\h{32}/banana_sample\.gif\z}) end + + it 'updates the snippet to make it internal' do + choose 'Internal' + + click_button 'Save changes' + wait_for_requests + + expect(page).to have_no_xpath("//i[@class='fa fa-lock']") + expect(page).to have_xpath("//i[@class='fa fa-shield']") + end + + it 'updates the snippet to make it public' do + choose 'Public' + + click_button 'Save changes' + wait_for_requests + + expect(page).to have_no_xpath("//i[@class='fa fa-lock']") + expect(page).to have_xpath("//i[@class='fa fa-globe']") + end end |