From 79c4981899ae4614b0a971f2dbcd0eb87edf4ee0 Mon Sep 17 00:00:00 2001 From: Daniel O'Connor Date: Thu, 23 Apr 2026 13:57:55 +0000 Subject: [PATCH] Rubocop: Rails/ResponseParsedBody --- .rubocop_todo.yml | 15 --------------- .../api/v1/plantings_controller_spec.rb | 2 +- spec/controllers/likes_controller_spec.rb | 6 +++--- spec/requests/api/v1/activities_request_spec.rb | 2 +- spec/requests/api/v1/crop_request_spec.rb | 2 +- spec/requests/api/v1/gardens_request_spec.rb | 2 +- spec/requests/api/v1/harvests_request_spec.rb | 2 +- spec/requests/api/v1/members_request_spec.rb | 2 +- spec/requests/api/v1/photos_request_spec.rb | 2 +- spec/requests/api/v1/plantings_request_spec.rb | 10 +++++----- spec/requests/api/v1/seeds_request_spec.rb | 2 +- 11 files changed, 16 insertions(+), 31 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 9f508a03b..e93f2052e 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -625,21 +625,6 @@ Rails/RedundantPresenceValidationOnBelongsTo: - 'app/models/planting.rb' - 'app/models/scientific_name.rb' -# Offense count: 16 -# This cop supports unsafe autocorrection (--autocorrect-all). -Rails/ResponseParsedBody: - Exclude: - - 'spec/controllers/api/v1/plantings_controller_spec.rb' - - 'spec/controllers/likes_controller_spec.rb' - - 'spec/requests/api/v1/activities_request_spec.rb' - - 'spec/requests/api/v1/crop_request_spec.rb' - - 'spec/requests/api/v1/gardens_request_spec.rb' - - 'spec/requests/api/v1/harvests_request_spec.rb' - - 'spec/requests/api/v1/members_request_spec.rb' - - 'spec/requests/api/v1/photos_request_spec.rb' - - 'spec/requests/api/v1/plantings_request_spec.rb' - - 'spec/requests/api/v1/seeds_request_spec.rb' - # Offense count: 9 Rails/ReversibleMigration: Exclude: diff --git a/spec/controllers/api/v1/plantings_controller_spec.rb b/spec/controllers/api/v1/plantings_controller_spec.rb index f6506d140..24d1d5e31 100644 --- a/spec/controllers/api/v1/plantings_controller_spec.rb +++ b/spec/controllers/api/v1/plantings_controller_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe Api::V1::PlantingsController, type: :controller do - subject { JSON.parse response.body } + subject { response.parsed_body } let!(:member) { create(:member) } diff --git a/spec/controllers/likes_controller_spec.rb b/spec/controllers/likes_controller_spec.rb index 7389d75cb..ea4872840 100644 --- a/spec/controllers/likes_controller_spec.rb +++ b/spec/controllers/likes_controller_spec.rb @@ -16,7 +16,7 @@ describe LikesController do it { expect(Like.last.likeable_id).to eq(blogpost.id) } it { expect(Like.last.likeable_type).to eq('Post') } - it { JSON.parse(response.body)["description"] == "1 like" } + it { response.parsed_body["description"] == "1 like" } describe "Liking someone else's post" do it { expect(response.code).to eq('201') } @@ -30,14 +30,14 @@ describe LikesController do describe "un-liking something i liked before" do it { expect(response.code).to eq('200') } - it { JSON.parse(response.body)["description"] == "0 likes" } + it { response.parsed_body["description"] == "0 likes" } end describe "Deleting someone else's like" do let(:like) { create(:like) } it { expect(response.code).to eq('403') } - it { JSON.parse(response.body)["error"] == "Unable to like" } + it { response.parsed_body["error"] == "Unable to like" } end end end diff --git a/spec/requests/api/v1/activities_request_spec.rb b/spec/requests/api/v1/activities_request_spec.rb index 08d14eb5c..8b1fb0371 100644 --- a/spec/requests/api/v1/activities_request_spec.rb +++ b/spec/requests/api/v1/activities_request_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Activities', type: :request do - subject { JSON.parse response.body } + subject { response.parsed_body } let(:member) { create(:member) } let(:token) do diff --git a/spec/requests/api/v1/crop_request_spec.rb b/spec/requests/api/v1/crop_request_spec.rb index e25a697bc..ab46a0db9 100644 --- a/spec/requests/api/v1/crop_request_spec.rb +++ b/spec/requests/api/v1/crop_request_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Crops', type: :request do - subject { JSON.parse response.body } + subject { response.parsed_body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } let!(:crop) { create(:crop) } diff --git a/spec/requests/api/v1/gardens_request_spec.rb b/spec/requests/api/v1/gardens_request_spec.rb index 2e1bd7300..761a712ad 100644 --- a/spec/requests/api/v1/gardens_request_spec.rb +++ b/spec/requests/api/v1/gardens_request_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Gardens', type: :request do - subject { JSON.parse response.body } + subject { response.parsed_body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } let!(:garden) { create(:garden) } diff --git a/spec/requests/api/v1/harvests_request_spec.rb b/spec/requests/api/v1/harvests_request_spec.rb index 02ce53a7a..9c6c9449c 100644 --- a/spec/requests/api/v1/harvests_request_spec.rb +++ b/spec/requests/api/v1/harvests_request_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Harvests', type: :request do - subject { JSON.parse response.body } + subject { response.parsed_body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } let!(:harvest) { create(:harvest) } diff --git a/spec/requests/api/v1/members_request_spec.rb b/spec/requests/api/v1/members_request_spec.rb index 06771899f..828f0cd8f 100644 --- a/spec/requests/api/v1/members_request_spec.rb +++ b/spec/requests/api/v1/members_request_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Members', type: :request do - subject { JSON.parse response.body } + subject { response.parsed_body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } let!(:member) { create(:member) } diff --git a/spec/requests/api/v1/photos_request_spec.rb b/spec/requests/api/v1/photos_request_spec.rb index d6a344819..7904ec00d 100644 --- a/spec/requests/api/v1/photos_request_spec.rb +++ b/spec/requests/api/v1/photos_request_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Photos', type: :request do - subject { JSON.parse response.body } + subject { response.parsed_body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } let!(:photo) { create(:photo) } diff --git a/spec/requests/api/v1/plantings_request_spec.rb b/spec/requests/api/v1/plantings_request_spec.rb index 2ec2f8b50..2199adc68 100644 --- a/spec/requests/api/v1/plantings_request_spec.rb +++ b/spec/requests/api/v1/plantings_request_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Plantings', type: :request do - subject { JSON.parse response.body } + subject { response.parsed_body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } let!(:planting) { create(:planting) } @@ -220,18 +220,18 @@ RSpec.describe 'Plantings', type: :request do describe "#show" do it "locates the correct member" do get "/api/v1/plantings?filter[owner-id]=#{@member1.id}" - expect(JSON.parse(response.body)['data'][0]['id']).to eq(planting.id.to_s) + expect(response.parsed_body['data'][0]['id']).to eq(planting.id.to_s) get "/api/v1/plantings?filter[owner-id]=#{@member2.id}" - expect(JSON.parse(response.body)['data'][0]['id']).to eq(@planting2.id.to_s) + expect(response.parsed_body['data'][0]['id']).to eq(@planting2.id.to_s) pending "The below should be identical to the above, but aren't." get "/api/v1/members/#{@member1.id}/plantings" - expect(JSON.parse(response.body)['data'][0]['id']).to eq(planting.id.to_s) + expect(response.parsed_body['data'][0]['id']).to eq(planting.id.to_s) get "/api/v1/members/#{@member2.id}/plantings" - expect(JSON.parse(response.body)['data'][0]['id']).to eq(@planting2.id.to_s) + expect(response.parsed_body['data'][0]['id']).to eq(@planting2.id.to_s) end end end diff --git a/spec/requests/api/v1/seeds_request_spec.rb b/spec/requests/api/v1/seeds_request_spec.rb index 7bd27f71e..95f083dc1 100644 --- a/spec/requests/api/v1/seeds_request_spec.rb +++ b/spec/requests/api/v1/seeds_request_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' RSpec.describe 'Seeds', type: :request do - subject { JSON.parse response.body } + subject { response.parsed_body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } let!(:seed) { create(:seed) }