Compare commits

..

6 Commits

Author SHA1 Message Date
Daniel O'Connor
8731573cfb Apply suggestion from @CloCkWeRX 2026-04-26 02:03:16 +09:30
Daniel O'Connor
c5254772da Apply suggestion from @CloCkWeRX 2026-04-26 02:03:04 +09:30
Daniel O'Connor
7b2013964c Merge branch 'dev' into Rails/ResponseParsedBody 2026-04-24 18:50:26 +09:30
Daniel O'Connor
9b135b29e5 Swap back 2026-04-23 14:42:29 +00:00
Daniel O'Connor
a51471d715 Merge branch 'dev' into Rails/ResponseParsedBody 2026-04-23 23:52:11 +09:30
Daniel O'Connor
79c4981899 Rubocop: Rails/ResponseParsedBody 2026-04-23 13:57:55 +00:00
14 changed files with 40 additions and 35 deletions

View File

@@ -108,5 +108,23 @@ jobs:
run: bundle exec rails db:prepare
- name: Run tests with test-queue
run: bundle exec test-queue rspec spec -fd
- name: Run rspec (lib)
run: bundle exec rspec spec/lib/ -fd --fail-fast
- name: Run rspec (services)
run: bundle exec rspec spec/services/ -fd --fail-fast
- name: Run rspec (models)
run: bundle exec rspec spec/models/ -fd --fail-fast
- name: Run rspec (controllers)
run: bundle exec rspec spec/controllers/ -fd --fail-fast
- name: Run rspec (views)
run: bundle exec rspec spec/views/ -fd --fail-fast
- name: Run rspec (routing)
run: bundle exec rspec spec/routing/ -fd --fail-fast
- name: Run rspec (request)
run: bundle exec rspec spec/requests/ -fd --fail-fast

View File

@@ -76,3 +76,8 @@ Rails/SkipsModelValidations:
- 'db/migrate/20240810160538_set_default_language_for_existing_alternate_names.rb'
- 'db/migrate/20240101010102_populate_crop_fields_from_openfarm_data.rb'
- 'db/seeds.rb'
Rails/ResponseParsedBody:
Exclude:
- spec/controllers/api/v1/plantings_controller_spec.rb
- spec/requests/api/v1/members_request_spec.rb

View File

@@ -601,21 +601,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:

View File

@@ -196,7 +196,6 @@ group :test do
gem 'rails-controller-testing'
gem "rspec-rebound"
gem 'selenium-webdriver'
gem 'test-queue'
gem 'timecop'
gem 'vcr'
end

View File

@@ -719,7 +719,6 @@ GEM
unicode-display_width (>= 1.1.1, < 4)
terser (1.2.7)
execjs (>= 0.3.0, < 3)
test-queue (0.11.1)
thor (1.5.0)
thread_safe (0.3.6)
tilt (2.7.0)
@@ -874,7 +873,6 @@ DEPENDENCIES
sitemap_generator
sprockets (< 4)
terser
test-queue
timecop
unicorn
validate_url

View File

@@ -3,7 +3,7 @@
require 'rails_helper'
RSpec.describe Api::V1::PlantingsController do
subject { JSON.parse response.body }
subject { JSON.parse(response.body) }
let!(:member) { create(:member) }

View File

@@ -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).to have_http_status(:created) }
@@ -30,14 +30,14 @@ describe LikesController do
describe "un-liking something i liked before" do
it { expect(response).to have_http_status(:ok) }
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).to have_http_status(:forbidden) }
it { JSON.parse(response.body)["error"] == "Unable to like" }
it { response.parsed_body["error"] == "Unable to like" }
end
end
end

View File

@@ -3,7 +3,7 @@
require 'rails_helper'
RSpec.describe 'Activities' do
subject { JSON.parse response.body }
subject { response.parsed_body }
let(:member) { create(:member) }
let(:token) do

View File

@@ -3,7 +3,7 @@
require 'rails_helper'
RSpec.describe 'Crops' do
subject { JSON.parse response.body }
subject { response.parsed_body }
let(:headers) { { 'Accept' => 'application/vnd.api+json' } }
let!(:crop) { create(:crop) }

View File

@@ -3,7 +3,7 @@
require 'rails_helper'
RSpec.describe 'Gardens' do
subject { JSON.parse response.body }
subject { response.parsed_body }
let(:headers) { { 'Accept' => 'application/vnd.api+json' } }
let!(:garden) { create(:garden) }

View File

@@ -3,7 +3,7 @@
require 'rails_helper'
RSpec.describe 'Harvests' do
subject { JSON.parse response.body }
subject { response.parsed_body }
let(:headers) { { 'Accept' => 'application/vnd.api+json' } }
let!(:harvest) { create(:harvest) }

View File

@@ -3,7 +3,7 @@
require 'rails_helper'
RSpec.describe 'Photos' do
subject { JSON.parse response.body }
subject { response.parsed_body }
let(:headers) { { 'Accept' => 'application/vnd.api+json' } }
let!(:photo) { create(:photo) }

View File

@@ -3,7 +3,7 @@
require 'rails_helper'
RSpec.describe 'Plantings' 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' 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

View File

@@ -3,7 +3,7 @@
require 'rails_helper'
RSpec.describe 'Seeds' do
subject { JSON.parse response.body }
subject { response.parsed_body }
let(:headers) { { 'Accept' => 'application/vnd.api+json' } }
let!(:seed) { create(:seed) }