Commit 0fd4a6b6 authored by Lin Jen-Shin's avatar Lin Jen-Shin

Introduce have_gitlab_http_status

So that whenever this failed:

    expect(response).to have_gitlab_http_status(200)

We see what's the response there. Here's an example:

```
1) API::Settings Settings PUT /application/settings custom repository storage type set in the config updates application settings
   Failure/Error: expect(response).to have_gitlab_http_status(200)
     expected the response to have status code 200 but it was 400. The response was: {"error":"password_authentication_enabled, signin_enabled are mutually exclusive"}
```
parent 0f393724
......@@ -6,7 +6,7 @@ describe API::Version do
it 'returns authentication error' do
get api('/version')
expect(response).to have_http_status(401)
expect(response).to have_gitlab_http_status(401)
end
end
......@@ -16,7 +16,7 @@ describe API::Version do
it 'returns the version information' do
get api('/version', user)
expect(response).to have_http_status(200)
expect(response).to have_gitlab_http_status(200)
expect(json_response['version']).to eq(Gitlab::VERSION)
expect(json_response['revision']).to eq(Gitlab::REVISION)
end
......
RSpec::Matchers.define :have_gitlab_http_status do |expected|
match do |actual|
expect(actual).to have_http_status(expected)
end
description do
"respond with numeric status code #{expected}"
end
failure_message do |actual|
"expected the response to have status code #{expected.inspect}" \
" but it was #{actual.response_code}. The response was: #{actual.body}"
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment