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"}
```
This commit is contained in:
parent
0f393724e7
commit
0fd4a6b637
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
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
|
||||
Loading…
Reference in New Issue