summaryrefslogtreecommitdiff
path: root/spec/features/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/snippets')
-rw-r--r--spec/features/snippets/embedded_snippet_spec.rb2
-rw-r--r--spec/features/snippets/explore_spec.rb2
-rw-r--r--spec/features/snippets/internal_snippet_spec.rb2
-rw-r--r--spec/features/snippets/notes_on_personal_snippets_spec.rb2
-rw-r--r--spec/features/snippets/private_snippets_spec.rb2
-rw-r--r--spec/features/snippets/public_snippets_spec.rb2
-rw-r--r--spec/features/snippets/search_snippets_spec.rb2
-rw-r--r--spec/features/snippets/show_spec.rb2
-rw-r--r--spec/features/snippets/spam_snippets_spec.rb6
-rw-r--r--spec/features/snippets/user_creates_snippet_spec.rb40
-rw-r--r--spec/features/snippets/user_deletes_snippet_spec.rb2
-rw-r--r--spec/features/snippets/user_edits_snippet_spec.rb2
-rw-r--r--spec/features/snippets/user_snippets_spec.rb2
13 files changed, 51 insertions, 17 deletions
diff --git a/spec/features/snippets/embedded_snippet_spec.rb b/spec/features/snippets/embedded_snippet_spec.rb
index d6275b5a265..4f2ab598a6f 100644
--- a/spec/features/snippets/embedded_snippet_spec.rb
+++ b/spec/features/snippets/embedded_snippet_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'Embedded Snippets' do
+RSpec.describe 'Embedded Snippets' do
let(:snippet) { create(:personal_snippet, :public, file_name: 'random_dir.rb', content: content) }
let(:content) { "require 'fileutils'\nFileUtils.mkdir_p 'some/random_dir'\n" }
diff --git a/spec/features/snippets/explore_spec.rb b/spec/features/snippets/explore_spec.rb
index 2075742eafb..b62c35bf96e 100644
--- a/spec/features/snippets/explore_spec.rb
+++ b/spec/features/snippets/explore_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'Explore Snippets' do
+RSpec.describe 'Explore Snippets' do
let!(:public_snippet) { create(:personal_snippet, :public) }
let!(:internal_snippet) { create(:personal_snippet, :internal) }
let!(:private_snippet) { create(:personal_snippet, :private) }
diff --git a/spec/features/snippets/internal_snippet_spec.rb b/spec/features/snippets/internal_snippet_spec.rb
index fd7ef71db15..3ce297ab22d 100644
--- a/spec/features/snippets/internal_snippet_spec.rb
+++ b/spec/features/snippets/internal_snippet_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'Internal Snippets', :js do
+RSpec.describe 'Internal Snippets', :js do
let(:internal_snippet) { create(:personal_snippet, :internal) }
before do
diff --git a/spec/features/snippets/notes_on_personal_snippets_spec.rb b/spec/features/snippets/notes_on_personal_snippets_spec.rb
index 57264f97ddc..aaaa61fec62 100644
--- a/spec/features/snippets/notes_on_personal_snippets_spec.rb
+++ b/spec/features/snippets/notes_on_personal_snippets_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'Comments on personal snippets', :js do
+RSpec.describe 'Comments on personal snippets', :js do
include NoteInteractionHelpers
let!(:user) { create(:user) }
diff --git a/spec/features/snippets/private_snippets_spec.rb b/spec/features/snippets/private_snippets_spec.rb
index 37f45f22a27..6b45f3485e7 100644
--- a/spec/features/snippets/private_snippets_spec.rb
+++ b/spec/features/snippets/private_snippets_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'Private Snippets', :js do
+RSpec.describe 'Private Snippets', :js do
let(:user) { create(:user) }
before do
diff --git a/spec/features/snippets/public_snippets_spec.rb b/spec/features/snippets/public_snippets_spec.rb
index 295e61ffb56..4b72b33245d 100644
--- a/spec/features/snippets/public_snippets_spec.rb
+++ b/spec/features/snippets/public_snippets_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'Public Snippets', :js do
+RSpec.describe 'Public Snippets', :js do
before do
stub_feature_flags(snippets_vue: false)
end
diff --git a/spec/features/snippets/search_snippets_spec.rb b/spec/features/snippets/search_snippets_spec.rb
index d3e02d43813..4f299edc9da 100644
--- a/spec/features/snippets/search_snippets_spec.rb
+++ b/spec/features/snippets/search_snippets_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'Search Snippets' do
+RSpec.describe 'Search Snippets' do
it 'User searches for snippets by title' do
public_snippet = create(:personal_snippet, :public, title: 'Beginning and Middle')
private_snippet = create(:personal_snippet, :private, title: 'Middle and End')
diff --git a/spec/features/snippets/show_spec.rb b/spec/features/snippets/show_spec.rb
index 9c686be012b..9125ed74273 100644
--- a/spec/features/snippets/show_spec.rb
+++ b/spec/features/snippets/show_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'Snippet', :js do
+RSpec.describe 'Snippet', :js do
let(:project) { create(:project, :repository) }
let(:snippet) { create(:personal_snippet, :public, file_name: file_name, content: content) }
diff --git a/spec/features/snippets/spam_snippets_spec.rb b/spec/features/snippets/spam_snippets_spec.rb
index d7b181dc678..e6a9467a3d7 100644
--- a/spec/features/snippets/spam_snippets_spec.rb
+++ b/spec/features/snippets/spam_snippets_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-shared_examples_for 'snippet editor' do
+RSpec.shared_examples_for 'snippet editor' do
include_context 'includes Spam constants'
def description_field
@@ -68,7 +68,7 @@ shared_examples_for 'snippet editor' do
context 'when SpamVerdictService requires recaptcha' do
before do
expect_next_instance_of(Spam::SpamVerdictService) do |verdict_service|
- expect(verdict_service).to receive(:execute).and_return(REQUIRE_RECAPTCHA)
+ expect(verdict_service).to receive(:execute).and_return(CONDITIONAL_ALLOW)
end
end
@@ -122,7 +122,7 @@ shared_examples_for 'snippet editor' do
end
end
-describe 'User creates snippet', :js do
+RSpec.describe 'User creates snippet', :js do
let_it_be(:user) { create(:user) }
it_behaves_like "snippet editor"
diff --git a/spec/features/snippets/user_creates_snippet_spec.rb b/spec/features/snippets/user_creates_snippet_spec.rb
index 62054c1f491..b100e035d38 100644
--- a/spec/features/snippets/user_creates_snippet_spec.rb
+++ b/spec/features/snippets/user_creates_snippet_spec.rb
@@ -2,12 +2,11 @@
require 'spec_helper'
-shared_examples_for 'snippet editor' do
+RSpec.shared_examples_for 'snippet editor' do
before do
stub_feature_flags(snippets_vue: false)
stub_feature_flags(snippets_edit_vue: false)
sign_in(user)
- visit new_snippet_path
end
def description_field
@@ -28,6 +27,8 @@ shared_examples_for 'snippet editor' do
end
it 'Authenticated user creates a snippet' do
+ visit new_snippet_path
+
fill_form
click_button('Create snippet')
@@ -42,6 +43,8 @@ shared_examples_for 'snippet editor' do
end
it 'previews a snippet with file' do
+ visit new_snippet_path
+
# Click placeholder first to expand full description field
description_field.click
fill_in 'personal_snippet_description', with: 'My Snippet'
@@ -62,6 +65,8 @@ shared_examples_for 'snippet editor' do
end
it 'uploads a file when dragging into textarea' do
+ visit new_snippet_path
+
fill_form
dropzone_file Rails.root.join('spec', 'fixtures', 'banana_sample.gif')
@@ -86,6 +91,8 @@ shared_examples_for 'snippet editor' do
allow(instance).to receive(:create_commit).and_raise(StandardError, error)
end
+ visit new_snippet_path
+
fill_form
click_button('Create snippet')
@@ -107,6 +114,8 @@ shared_examples_for 'snippet editor' do
end
it 'validation fails for the first time' do
+ visit new_snippet_path
+
fill_in 'personal_snippet_title', with: 'My Snippet Title'
click_button('Create snippet')
@@ -132,6 +141,8 @@ shared_examples_for 'snippet editor' do
end
it 'Authenticated user creates a snippet with + in filename' do
+ visit new_snippet_path
+
fill_in 'personal_snippet_title', with: 'My Snippet Title'
page.within('.file-editor') do
find(:xpath, "//input[@id='personal_snippet_file_name']").set 'snippet+file+name'
@@ -146,9 +157,32 @@ shared_examples_for 'snippet editor' do
expect(page).to have_content('snippet+file+name')
expect(page).to have_content('Hello World!')
end
+
+ context 'when snippets default visibility level is restricted' do
+ before do
+ stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::PRIVATE],
+ default_snippet_visibility: Gitlab::VisibilityLevel::PRIVATE)
+ end
+
+ it 'creates a snippet using the lowest available visibility level as default' do
+ visit new_snippet_path
+
+ fill_form
+
+ click_button('Create snippet')
+ wait_for_requests
+
+ visit snippets_path
+ click_link('Internal')
+
+ expect(page).to have_content('My Snippet Title')
+ created_snippet = Snippet.last
+ expect(created_snippet.visibility_level).to eq(Gitlab::VisibilityLevel::INTERNAL)
+ end
+ end
end
-describe 'User creates snippet', :js do
+RSpec.describe 'User creates snippet', :js do
include DropzoneHelper
let_it_be(:user) { create(:user) }
diff --git a/spec/features/snippets/user_deletes_snippet_spec.rb b/spec/features/snippets/user_deletes_snippet_spec.rb
index 35619b92561..d7cfc67df13 100644
--- a/spec/features/snippets/user_deletes_snippet_spec.rb
+++ b/spec/features/snippets/user_deletes_snippet_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'User deletes snippet' do
+RSpec.describe 'User deletes snippet' do
let(:user) { create(:user) }
let(:content) { 'puts "test"' }
let(:snippet) { create(:personal_snippet, :public, content: content, author: user) }
diff --git a/spec/features/snippets/user_edits_snippet_spec.rb b/spec/features/snippets/user_edits_snippet_spec.rb
index 40b0113cf39..3692b0d1ad8 100644
--- a/spec/features/snippets/user_edits_snippet_spec.rb
+++ b/spec/features/snippets/user_edits_snippet_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'User edits snippet', :js do
+RSpec.describe 'User edits snippet', :js do
include DropzoneHelper
let_it_be(:file_name) { 'test.rb' }
diff --git a/spec/features/snippets/user_snippets_spec.rb b/spec/features/snippets/user_snippets_spec.rb
index d9faea55b29..a313dc3b26a 100644
--- a/spec/features/snippets/user_snippets_spec.rb
+++ b/spec/features/snippets/user_snippets_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-describe 'User Snippets' do
+RSpec.describe 'User Snippets' do
let(:author) { create(:user) }
let!(:public_snippet) { create(:personal_snippet, :public, author: author, title: "This is a public snippet") }
let!(:internal_snippet) { create(:personal_snippet, :internal, author: author, title: "This is an internal snippet") }