summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/snippets_controller_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/projects/snippets_controller_spec.rb')
-rw-r--r--spec/controllers/projects/snippets_controller_spec.rb40
1 files changed, 34 insertions, 6 deletions
diff --git a/spec/controllers/projects/snippets_controller_spec.rb b/spec/controllers/projects/snippets_controller_spec.rb
index 9fa07cbc7a6..284789305e2 100644
--- a/spec/controllers/projects/snippets_controller_spec.rb
+++ b/spec/controllers/projects/snippets_controller_spec.rb
@@ -116,7 +116,7 @@ describe Projects::SnippetsController do
end
context 'when the snippet is public' do
- it 'rejects the shippet' do
+ it 'rejects the snippet' do
expect { create_snippet(project, visibility_level: Snippet::PUBLIC) }
.not_to change { Snippet.count }
expect(response).to render_template(:new)
@@ -164,6 +164,7 @@ describe Projects::SnippetsController do
describe 'PUT #update' do
let(:project) { create :project, :public }
+ let(:visibility_level) { Snippet::PUBLIC }
let(:snippet) { create :project_snippet, author: user, project: project, visibility_level: visibility_level }
def update_snippet(snippet_params = {}, additional_params = {})
@@ -174,13 +175,27 @@ describe Projects::SnippetsController do
put :update, params: {
namespace_id: project.namespace.to_param,
project_id: project,
- id: snippet.id,
+ id: snippet,
project_snippet: { title: 'Title', content: 'Content' }.merge(snippet_params)
}.merge(additional_params)
snippet.reload
end
+ it_behaves_like 'updating snippet checks blob is binary' do
+ let_it_be(:title) { 'Foo' }
+ let(:params) do
+ {
+ namespace_id: project.namespace.to_param,
+ project_id: project,
+ id: snippet.id,
+ project_snippet: { title: title }
+ }
+ end
+
+ subject { put :update, params: params }
+ end
+
context 'when the snippet is spam' do
before do
allow_next_instance_of(Spam::AkismetService) do |instance|
@@ -198,9 +213,7 @@ describe Projects::SnippetsController do
end
context 'when the snippet is public' do
- let(:visibility_level) { Snippet::PUBLIC }
-
- it 'rejects the shippet' do
+ it 'rejects the snippet' do
expect { update_snippet(title: 'Foo') }
.not_to change { snippet.reload.title }
end
@@ -245,7 +258,7 @@ describe Projects::SnippetsController do
context 'when the private snippet is made public' do
let(:visibility_level) { Snippet::PRIVATE }
- it 'rejects the shippet' do
+ it 'rejects the snippet' do
expect { update_snippet(title: 'Foo', visibility_level: Snippet::PUBLIC) }
.not_to change { snippet.reload.title }
end
@@ -581,4 +594,19 @@ describe Projects::SnippetsController do
end
end
end
+
+ describe 'GET #edit' do
+ it_behaves_like 'editing snippet checks blob is binary' do
+ let(:snippet) { create(:project_snippet, :private, project: project, author: user) }
+ let(:params) do
+ {
+ namespace_id: project.namespace,
+ project_id: project,
+ id: snippet
+ }
+ end
+
+ subject { get :edit, params: params }
+ end
+ end
end