summaryrefslogtreecommitdiff
path: root/spec/support/shared_examples
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/shared_examples')
-rw-r--r--spec/support/shared_examples/requests/get_index_request.rb10
-rw-r--r--spec/support/shared_examples/requests/get_request.rb13
-rw-r--r--spec/support/shared_examples/requests/put_request.rb2
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:)