From 8c847a682109e8305ff1ac14cd493255884d8675 Mon Sep 17 00:00:00 2001 From: HombreLaser Date: Tue, 14 Mar 2023 20:19:13 -0600 Subject: AƱade specs faltantes de CompaniesController MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spec/support/shared_examples/requests/get_index_request.rb | 10 ++++++++++ spec/support/shared_examples/requests/get_request.rb | 13 +++++++++++-- spec/support/shared_examples/requests/put_request.rb | 2 +- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 spec/support/shared_examples/requests/get_index_request.rb (limited to 'spec/support') 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:) -- cgit v1.2.3