summaryrefslogtreecommitdiff
path: root/spec/support/api
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-12-19 16:26:59 +0100
committerRémy Coutable <remy@rymai.me>2016-12-20 13:40:41 +0100
commitc87d93d462bb83caebd22bd759d8a1ead845d6a4 (patch)
treebed781426558ac9e382848a93c4567d96aa6ff42 /spec/support/api
parent2e6c1720ead0f2843abb0d03f0c01b92fa063980 (diff)
downloadgitlab-ce-c87d93d462bb83caebd22bd759d8a1ead845d6a4.tar.gz
Improve specs for Repositories API4269-public-repositories-api
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/support/api')
-rw-r--r--spec/support/api/status_shared_examples.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/support/api/status_shared_examples.rb b/spec/support/api/status_shared_examples.rb
new file mode 100644
index 00000000000..3481749a7f0
--- /dev/null
+++ b/spec/support/api/status_shared_examples.rb
@@ -0,0 +1,42 @@
+# Specs for status checking.
+#
+# Requires an API request:
+# let(:request) { get api("/projects/#{project.id}/repository/branches", user) }
+shared_examples_for '400 response' do
+ before do
+ # Fires the request
+ request
+ end
+
+ it 'returns 400' do
+ expect(response).to have_http_status(400)
+ end
+end
+
+shared_examples_for '403 response' do
+ before do
+ # Fires the request
+ request
+ end
+
+ it 'returns 403' do
+ expect(response).to have_http_status(403)
+ end
+end
+
+shared_examples_for '404 response' do
+ let(:message) { nil }
+ before do
+ # Fires the request
+ request
+ end
+
+ it 'returns 404' do
+ expect(response).to have_http_status(404)
+ expect(json_response).to be_an Object
+
+ if message.present?
+ expect(json_response['message']).to eq(message)
+ end
+ end
+end