diff options
Diffstat (limited to 'spec/support')
-rw-r--r-- | spec/support/shared_examples/requests/get_index_request.rb | 10 | ||||
-rw-r--r-- | spec/support/shared_examples/requests/get_request.rb | 13 | ||||
-rw-r--r-- | spec/support/shared_examples/requests/put_request.rb | 2 |
3 files changed, 22 insertions, 3 deletions
diff --git a/spec/support/shared_examples/requests/get_index_request.rb b/spec/support/shared_examples/requests/get_index_request.rb new file mode 100644 index 0000000..2875b28 --- /dev/null +++ b/spec/support/shared_examples/requests/get_index_request.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +RSpec.shared_examples 'a GET index request' do + it 'returns a 200 http status and the requested resources' do + get(route, headers:) + expect(response).to have_http_status(200) + resources = JSON.parse(response.body) + expect(resources['data'].length).to eq(pagination_size) + end +end
\ No newline at end of file diff --git a/spec/support/shared_examples/requests/get_request.rb b/spec/support/shared_examples/requests/get_request.rb index c402196..d58da67 100644 --- a/spec/support/shared_examples/requests/get_request.rb +++ b/spec/support/shared_examples/requests/get_request.rb @@ -1,11 +1,20 @@ # frozen_string_literal: true -RSpec.shared_examples 'a GET request' do +RSpec.shared_examples 'a GET resource request' do |sole_route: false| context 'for an existing resource' do - it 'returns a 200 status and the requested resource(s)'do + it 'returns a 200 status and the requested resource(s)' do get(route, headers:) expect(response).to have_http_status(200) expect(response.body).to include_strings(expected_text) end end + + unless sole_route + context 'for a nonexistent resource' do + it 'returns a 404 http status' do + get(invalid_route, headers:) + expect(response).to have_http_status(404) + end + end + end end diff --git a/spec/support/shared_examples/requests/put_request.rb b/spec/support/shared_examples/requests/put_request.rb index d329b78..a85d842 100644 --- a/spec/support/shared_examples/requests/put_request.rb +++ b/spec/support/shared_examples/requests/put_request.rb @@ -17,7 +17,7 @@ RSpec.shared_examples 'a PUT request' do |account: false| end end - if account + unless account context 'to an nonexistent resource' do it 'returns a 404 status' do put(wrong_route, params:, headers:) |