summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2017-07-05 15:27:53 +0200
committerJames Lopez <james@jameslopez.es>2017-07-06 15:27:48 +0200
commite0345c8da11eac8e50981a2e218e6a76e3b4af1f (patch)
tree64af5623aaa38482d77fd48f29f5f1965d822e22
parent383138af617135dd72ca7016c1156c0cd2e6cb25 (diff)
downloadgitlab-ce-e0345c8da11eac8e50981a2e218e6a76e3b4af1f.tar.gz
add snippets spec
-rw-r--r--spec/requests/api/snippets_spec.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/spec/requests/api/snippets_spec.rb b/spec/requests/api/snippets_spec.rb
index b20a187acfe..f43b932e30a 100644
--- a/spec/requests/api/snippets_spec.rb
+++ b/spec/requests/api/snippets_spec.rb
@@ -255,7 +255,6 @@ describe API::Snippets do
end
describe 'DELETE /snippets/:id' do
- let!(:public_snippet) { create(:personal_snippet, :public, author: user) }
it 'deletes snippet' do
expect do
delete api("/snippets/#{public_snippet.id}", user)
@@ -271,4 +270,25 @@ describe API::Snippets do
expect(json_response['message']).to eq('404 Snippet Not Found')
end
end
+
+ describe "GET /snippets/:id/user_agent_detail" do
+ let(:admin) { create(:admin) }
+ let(:snippet) { create(:personal_snippet, :public, author: user) }
+ let!(:user_agent_detail) { create(:user_agent_detail, subject: snippet) }
+
+ it 'exposes known attributes' do
+ get api("/snippets/#{snippet.id}/user_agent_detail", admin)
+
+ expect(response).to have_http_status(200)
+ expect(json_response['user_agent']).to eq(user_agent_detail.user_agent)
+ expect(json_response['ip_address']).to eq(user_agent_detail.ip_address)
+ expect(json_response['submitted']).to be false
+ end
+
+ it "returns unautorized for non-admin users" do
+ get api("/snippets/#{snippet.id}/user_agent_detail", user)
+
+ expect(response).to have_http_status(403)
+ end
+ end
end