From d1f754a2887abd7daecdc374b36eee179b2063be Mon Sep 17 00:00:00 2001 From: Daniel O'Connor Date: Tue, 8 Nov 2022 00:23:38 +1030 Subject: [PATCH] Rubocop --- .rubocop_todo.yml | 28 ----- .../api/v1/plantings_controller_spec.rb | 2 +- .../charts/crops_controller_spec.rb | 2 +- .../charts/gardens_controller_spec.rb | 2 +- spec/controllers/comments_controller_spec.rb | 24 ++-- spec/controllers/crops_controller_spec.rb | 14 +-- .../garden_types_controller_spec.rb | 2 +- spec/controllers/gardens_controller_spec.rb | 2 +- spec/controllers/harvests_controller_spec.rb | 2 +- spec/controllers/likes_controller_spec.rb | 4 +- .../photo_associations_controller_spec.rb | 8 +- spec/controllers/photos_controller_spec.rb | 12 +- spec/controllers/plantings_controller_spec.rb | 10 +- spec/controllers/posts_controller_spec.rb | 4 +- spec/controllers/seeds_controller_spec.rb | 2 +- spec/factories/crop.rb | 2 +- spec/factories/harvests.rb | 2 +- spec/factories/notifications.rb | 4 +- spec/factories/planting.rb | 18 +-- spec/features/admin/forums_spec.rb | 2 +- .../comments/commenting_a_comment_spec.rb | 6 +- spec/features/conversations/index_spec.rb | 4 +- spec/features/conversations/show_spec.rb | 4 +- spec/features/crops/alternate_name_spec.rb | 10 +- spec/features/crops/browse_crops_spec.rb | 8 +- spec/features/crops/crop_detail_page_spec.rb | 22 ++-- spec/features/crops/crop_photos_spec.rb | 12 +- spec/features/crops/crop_wranglers_spec.rb | 10 +- spec/features/crops/delete_crop_spec.rb | 4 +- spec/features/crops/request_new_crop_spec.rb | 4 +- spec/features/crops/requested_crops_spec.rb | 2 +- spec/features/crops/scientific_name_spec.rb | 10 +- spec/features/crops/show_spec.rb | 16 +-- spec/features/gardens/actions_spec.rb | 2 +- spec/features/gardens/gardens_spec.rb | 12 +- spec/features/gardens/index_spec.rb | 28 ++--- .../features/harvests/browse_harvests_spec.rb | 6 +- .../harvests/harvesting_a_crop_spec.rb | 18 +-- spec/features/home/home_spec.rb | 18 +-- spec/features/likeable_spec.rb | 4 +- spec/features/locale_spec.rb | 2 +- spec/features/members/ban_spec.rb | 4 +- spec/features/members/deletion_spec.rb | 6 +- spec/features/members/following_spec.rb | 4 +- spec/features/members/list_spec.rb | 8 +- spec/features/members/profile_spec.rb | 86 +++++++------- spec/features/percy/percy_spec.rb | 74 ++++++------ spec/features/photos/new_photo_spec.rb | 8 +- spec/features/photos/show_photo_spec.rb | 16 +-- .../features/places/searching_a_place_spec.rb | 10 +- spec/features/planting_reminder_spec.rb | 14 +-- .../plantings/planting_a_crop_spec.rb | 6 +- spec/features/plantings/prediction_spec.rb | 38 +++--- spec/features/plantings/show_spec.rb | 20 ++-- spec/features/posts/posting_a_post_spec.rb | 2 +- spec/features/rss/members_spec.rb | 2 +- spec/features/seeds/adding_seeds_spec.rb | 2 +- spec/features/seeds/misc_seeds_spec.rb | 14 +-- spec/features/seeds/seed_photos.rb | 12 +- spec/features/shared_examples/crop_suggest.rb | 8 +- spec/features/signin_spec.rb | 12 +- spec/features/signout_spec.rb | 4 +- spec/features/timeline/index_spec.rb | 14 +-- spec/features/unsubscribing_spec.rb | 4 +- spec/helpers/buttons_helper_spec.rb | 8 +- spec/helpers/crops_helper_spec.rb | 14 +-- spec/helpers/event_helper_spec.rb | 14 +-- spec/helpers/photos_helper_spec.rb | 10 +- spec/lib/actions/oauth_signup_action_spec.rb | 8 +- spec/models/alternate_name_spec.rb | 6 +- spec/models/crop_spec.rb | 10 +- spec/models/garden_type.rb | 2 +- spec/models/harvest_spec.rb | 4 +- spec/models/like_spec.rb | 2 +- spec/models/photo_spec.rb | 22 ++-- spec/models/planting_spec.rb | 110 +++++++++--------- spec/models/post_spec.rb | 2 +- spec/models/seed_spec.rb | 18 +-- spec/requests/api/v1/crop_request_spec.rb | 2 +- spec/requests/api/v1/gardens_request_spec.rb | 2 +- spec/requests/api/v1/harvest_request_spec.rb | 2 +- spec/requests/api/v1/member_request_spec.rb | 2 +- spec/requests/api/v1/photos_request_spec.rb | 2 +- .../requests/api/v1/plantings_request_spec.rb | 2 +- spec/requests/api/v1/seeds_request_spec.rb | 2 +- spec/services/crop_search_service_spec.rb | 30 ++--- spec/services/timeline_service_spec.rb | 16 +-- spec/support/feature_helpers.rb | 6 +- spec/views/crops/show.html.haml_spec.rb | 2 +- spec/views/gardens/show.html.haml_spec.rb | 2 +- spec/views/harvests/index.rss.haml_spec.rb | 6 +- spec/views/photos/show.html.haml_spec.rb | 19 ++- 92 files changed, 505 insertions(+), 536 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index e085a74cb..aeb12cb02 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -226,13 +226,6 @@ RSpec/ExpectInHook: - 'spec/features/plantings/planting_a_crop_spec.rb' - 'spec/features/shared_examples/append_date.rb' -# Offense count: 447 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: require_parentheses, omit_parentheses -RSpec/FactoryBot/ConsistentParenthesesStyle: - Enabled: false - # Offense count: 1135 # This cop supports unsafe autocorrection (--autocorrect-all). RSpec/FactoryBot/SyntaxMethods: @@ -266,19 +259,6 @@ RSpec/HooksBeforeExamples: RSpec/InstanceVariable: Enabled: false -# Offense count: 9 -# This cop supports safe autocorrection (--autocorrect). -RSpec/LeadingSubject: - Exclude: - - 'spec/controllers/crops_controller_spec.rb' - - 'spec/features/crops/crop_detail_page_spec.rb' - - 'spec/features/members/list_spec.rb' - - 'spec/features/seeds/seed_photos.rb' - - 'spec/helpers/event_helper_spec.rb' - - 'spec/models/planting_spec.rb' - - 'spec/models/seed_spec.rb' - - 'spec/services/timeline_service_spec.rb' - # Offense count: 40 RSpec/LetSetup: Enabled: false @@ -356,14 +336,6 @@ RSpec/RepeatedExampleGroupBody: Exclude: - 'spec/controllers/crops_controller_spec.rb' -# Offense count: 9 -# This cop supports safe autocorrection (--autocorrect). -RSpec/ScatteredLet: - Exclude: - - 'spec/features/members/deletion_spec.rb' - - 'spec/features/members/profile_spec.rb' - - 'spec/views/photos/show.html.haml_spec.rb' - # Offense count: 6 RSpec/ScatteredSetup: Exclude: diff --git a/spec/controllers/api/v1/plantings_controller_spec.rb b/spec/controllers/api/v1/plantings_controller_spec.rb index b807c724e..6e39eb656 100644 --- a/spec/controllers/api/v1/plantings_controller_spec.rb +++ b/spec/controllers/api/v1/plantings_controller_spec.rb @@ -5,7 +5,7 @@ require 'rails_helper' RSpec.describe Api::V1::PlantingsController, type: :controller do subject { JSON.parse response.body } - let!(:member) { FactoryBot.create :member } + let!(:member) { FactoryBot.create(:member) } describe '#index' do let(:matching_planting) { subject['data'].select { |planting| planting['id'] == my_planting.id.to_s }.first } diff --git a/spec/controllers/charts/crops_controller_spec.rb b/spec/controllers/charts/crops_controller_spec.rb index dd08302bd..ce3270202 100644 --- a/spec/controllers/charts/crops_controller_spec.rb +++ b/spec/controllers/charts/crops_controller_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' describe Charts::CropsController do describe 'GET charts' do - let(:crop) { FactoryBot.create :crop } + let(:crop) { FactoryBot.create(:crop) } describe 'sunniness' do before { get :sunniness, params: { crop_slug: crop.to_param } } diff --git a/spec/controllers/charts/gardens_controller_spec.rb b/spec/controllers/charts/gardens_controller_spec.rb index b6a2bd1c5..9eb9e72fb 100644 --- a/spec/controllers/charts/gardens_controller_spec.rb +++ b/spec/controllers/charts/gardens_controller_spec.rb @@ -5,7 +5,7 @@ require 'rails_helper' describe Charts::GardensController do include Devise::Test::ControllerHelpers - let(:garden) { FactoryBot.create :garden } + let(:garden) { FactoryBot.create(:garden) } context "when not signed in" do describe 'GET timeline' do diff --git a/spec/controllers/comments_controller_spec.rb b/spec/controllers/comments_controller_spec.rb index a58309534..2a2b3a31b 100644 --- a/spec/controllers/comments_controller_spec.rb +++ b/spec/controllers/comments_controller_spec.rb @@ -18,8 +18,8 @@ describe CommentsController do end describe "GET RSS feed" do - let!(:first_comment) { FactoryBot.create :comment, created_at: 10.days.ago } - let!(:last_comment) { FactoryBot.create :comment, created_at: 4.minutes.ago } + let!(:first_comment) { FactoryBot.create(:comment, created_at: 10.days.ago) } + let!(:last_comment) { FactoryBot.create(:comment, created_at: 4.minutes.ago) } describe "returns an RSS feed" do before { get :index, format: "rss" } @@ -60,7 +60,7 @@ describe CommentsController do before { get :edit, params: { id: comment.to_param } } describe "my comment" do - let!(:comment) { FactoryBot.create :comment, author: member, post: } + let!(:comment) { FactoryBot.create(:comment, author: member, post:) } let!(:old_comment) { FactoryBot.create(:comment, post:, created_at: Time.zone.yesterday) } it "assigns previous comments as @comments" do @@ -69,7 +69,7 @@ describe CommentsController do end describe "not my comment" do - let(:comment) { FactoryBot.create :comment, post: } + let(:comment) { FactoryBot.create(:comment, post:) } it { expect(response).not_to be_successful } end @@ -79,7 +79,7 @@ describe CommentsController do before { put :update, params: { id: comment.to_param, comment: valid_attributes } } describe "my comment" do - let(:comment) { FactoryBot.create :comment, author: member } + let(:comment) { FactoryBot.create(:comment, author: member) } it "redirects to the comment's post" do expect(response).to redirect_to(comment.post) @@ -87,16 +87,16 @@ describe CommentsController do end describe "not my comment" do - let(:comment) { FactoryBot.create :comment } + let(:comment) { FactoryBot.create(:comment) } it { expect(response).not_to be_successful } end describe "attempting to change post_id" do - let(:post) { FactoryBot.create :post, subject: 'our post' } - let(:other_post) { FactoryBot.create :post, subject: 'the other post' } - let(:valid_attributes) { { post_id: other_post.id, body: "kōrero" } } - let(:comment) { FactoryBot.create :comment, author: member, post: } + let(:post) { FactoryBot.create(:post, subject: 'our post') } + let(:other_post) { FactoryBot.create(:post, subject: 'the other post') } + let(:valid_attributes) { { post_id: other_post.id, body: "kōrero" } } + let(:comment) { FactoryBot.create(:comment, author: member, post:) } it "does not change post_id" do comment.reload @@ -109,7 +109,7 @@ describe CommentsController do before { delete :destroy, params: { id: comment.to_param } } describe "my comment" do - let(:comment) { FactoryBot.create :comment, author: member } + let(:comment) { FactoryBot.create(:comment, author: member) } it "redirects to the post the comment was on" do expect(response).to redirect_to(comment.post) @@ -117,7 +117,7 @@ describe CommentsController do end describe "not my comment" do - let(:comment) { FactoryBot.create :comment } + let(:comment) { FactoryBot.create(:comment) } it { expect(response).not_to be_successful } end diff --git a/spec/controllers/crops_controller_spec.rb b/spec/controllers/crops_controller_spec.rb index 2a8721d51..62f441a39 100644 --- a/spec/controllers/crops_controller_spec.rb +++ b/spec/controllers/crops_controller_spec.rb @@ -3,12 +3,12 @@ require 'rails_helper' describe CropsController do + subject { response } + shared_context 'login as wrangler' do login_member(:crop_wrangling_member) end - subject { response } - describe "GET crop wrangler homepage" do describe 'fetches the crop wrangler homepage' do context 'anonymous' do @@ -42,8 +42,8 @@ describe CropsController do describe "GET crop search" do describe 'fetches the crop search page' do - let!(:tomato) { FactoryBot.create :tomato } - let!(:maize) { FactoryBot.create :maize } + let!(:tomato) { FactoryBot.create(:tomato) } + let!(:maize) { FactoryBot.create(:maize) } before { Crop.reindex } @@ -74,6 +74,8 @@ describe CropsController do end describe 'CREATE' do + subject { put :create, params: crop_params } + let(:crop_params) do { crop: { @@ -85,8 +87,6 @@ describe CropsController do } end - subject { put :create, params: crop_params } - context 'not logged in' do it { expect { subject }.not_to change(Crop, :count) } end @@ -106,7 +106,7 @@ describe CropsController do describe 'DELETE destroy' do subject { delete :destroy, params: { slug: crop.to_param } } - let!(:crop) { FactoryBot.create :crop } + let!(:crop) { FactoryBot.create(:crop) } context 'not logged in' do it { expect { subject }.not_to change(Crop, :count) } diff --git a/spec/controllers/garden_types_controller_spec.rb b/spec/controllers/garden_types_controller_spec.rb index e3c466750..80a79662d 100644 --- a/spec/controllers/garden_types_controller_spec.rb +++ b/spec/controllers/garden_types_controller_spec.rb @@ -5,7 +5,7 @@ require 'rails_helper' RSpec.describe GardenTypesController, type: :controller do include Devise::Test::ControllerHelpers let(:valid_params) { { name: 'My second GardenType' } } - let(:garden_type) { FactoryBot.create :garden_type } + let(:garden_type) { FactoryBot.create(:garden_type) } context "when not signed in" do describe 'GET new' do diff --git a/spec/controllers/gardens_controller_spec.rb b/spec/controllers/gardens_controller_spec.rb index 319304454..e0da0e4bf 100644 --- a/spec/controllers/gardens_controller_spec.rb +++ b/spec/controllers/gardens_controller_spec.rb @@ -6,7 +6,7 @@ RSpec.describe GardensController, type: :controller do include Devise::Test::ControllerHelpers let(:valid_params) { { name: 'My second Garden' } } - let(:garden) { FactoryBot.create :garden } + let(:garden) { FactoryBot.create(:garden) } context "when not signed in" do describe 'GET new' do diff --git a/spec/controllers/harvests_controller_spec.rb b/spec/controllers/harvests_controller_spec.rb index ac4740ab7..5cc02ef07 100644 --- a/spec/controllers/harvests_controller_spec.rb +++ b/spec/controllers/harvests_controller_spec.rb @@ -153,7 +153,7 @@ describe HarvestsController, :search do let(:harvest) { Harvest.create! valid_attributes } it "updates the requested harvest" do - new_crop = FactoryBot.create :crop + new_crop = FactoryBot.create(:crop) expect do put :update, params: { slug: harvest.to_param, harvest: { crop_id: new_crop.id } } harvest.reload diff --git a/spec/controllers/likes_controller_spec.rb b/spec/controllers/likes_controller_spec.rb index 8a7e046f9..eace94cba 100644 --- a/spec/controllers/likes_controller_spec.rb +++ b/spec/controllers/likes_controller_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' describe LikesController do - let(:like) { FactoryBot.create :like, member: } + let(:like) { FactoryBot.create(:like, member:) } let(:member) { FactoryBot.create(:member) } let(:blogpost) { FactoryBot.create(:post) } @@ -37,7 +37,7 @@ describe LikesController do end describe "Deleting someone else's like" do - let(:like) { FactoryBot.create :like } + let(:like) { FactoryBot.create(:like) } it { expect(response.code).to eq('403') } it { JSON.parse(response.body)["error"] == "Unable to like" } diff --git a/spec/controllers/photo_associations_controller_spec.rb b/spec/controllers/photo_associations_controller_spec.rb index f91e2d777..72dd0a442 100644 --- a/spec/controllers/photo_associations_controller_spec.rb +++ b/spec/controllers/photo_associations_controller_spec.rb @@ -17,8 +17,8 @@ describe PhotoAssociationsController do before { photo.harvests << harvest } describe "my harvest my photo" do - let(:harvest) { FactoryBot.create :harvest, owner: member } - let(:photo) { FactoryBot.create :photo, owner: member } + let(:harvest) { FactoryBot.create(:harvest, owner: member) } + let(:photo) { FactoryBot.create(:photo, owner: member) } it "removes link" do expect { delete :destroy, params: valid_params }.to change { photo.harvests.count }.by(-1) @@ -26,8 +26,8 @@ describe PhotoAssociationsController do end describe "another member's harvest from another member's photo" do - let(:harvest) { FactoryBot.create :harvest, owner: photo.owner } - let(:photo) { FactoryBot.create :photo } + let(:harvest) { FactoryBot.create(:harvest, owner: photo.owner) } + let(:photo) { FactoryBot.create(:photo) } it do expect do diff --git a/spec/controllers/photos_controller_spec.rb b/spec/controllers/photos_controller_spec.rb index 82abad361..89d3ae27a 100644 --- a/spec/controllers/photos_controller_spec.rb +++ b/spec/controllers/photos_controller_spec.rb @@ -7,7 +7,7 @@ describe PhotosController, :search do describe 'GET index' do describe 'all photos' do - let!(:photo) { FactoryBot.create :photo, :reindex } + let!(:photo) { FactoryBot.create(:photo, :reindex) } before do Photo.reindex @@ -21,10 +21,10 @@ describe PhotosController, :search do end describe '#index crop photos' do - let!(:photo) { FactoryBot.create :photo, :reindex, owner: member, title: 'no assocations photo' } - let!(:crop_photo) { FactoryBot.create :photo, :reindex, owner: member, title: 'photos of planting' } - let!(:planting) { FactoryBot.create :planting, :reindex, crop:, owner: member } - let!(:crop) { FactoryBot.create :crop, :reindex } + let!(:photo) { FactoryBot.create(:photo, :reindex, owner: member, title: 'no assocations photo') } + let!(:crop_photo) { FactoryBot.create(:photo, :reindex, owner: member, title: 'photos of planting') } + let!(:planting) { FactoryBot.create(:planting, :reindex, crop:, owner: member) } + let!(:crop) { FactoryBot.create(:crop, :reindex) } before do planting.photos << crop_photo @@ -163,7 +163,7 @@ describe PhotosController, :search do end describe "for the second time" do - let(:planting) { FactoryBot.create :planting, owner: member } + let(:planting) { FactoryBot.create(:planting, owner: member) } let(:valid_params) { { photo: { source_id: 1 }, id: planting.id, type: 'planting' } } it "does not add a photo twice" do diff --git a/spec/controllers/plantings_controller_spec.rb b/spec/controllers/plantings_controller_spec.rb index 87f26d5ed..9ff49eef4 100644 --- a/spec/controllers/plantings_controller_spec.rb +++ b/spec/controllers/plantings_controller_spec.rb @@ -17,8 +17,8 @@ describe PlantingsController, :search do let!(:member2) { FactoryBot.create(:member) } let!(:tomato) { FactoryBot.create(:tomato) } let!(:maize) { FactoryBot.create(:maize) } - let!(:planting1) { FactoryBot.create :planting, crop: tomato, owner: member1, created_at: 1.day.ago } - let!(:planting2) { FactoryBot.create :planting, crop: maize, owner: member2, created_at: 5.days.ago } + let!(:planting1) { FactoryBot.create(:planting, crop: tomato, owner: member1, created_at: 1.day.ago) } + let!(:planting2) { FactoryBot.create(:planting, crop: maize, owner: member2, created_at: 5.days.ago) } before do Planting.reindex @@ -111,7 +111,7 @@ describe PlantingsController, :search do end context 'with parent seed' do - let(:seed) { FactoryBot.create :seed, owner: member } + let(:seed) { FactoryBot.create(:seed, owner: member) } before { get :new, params: { seed_id: seed.to_param } } @@ -128,8 +128,8 @@ describe PlantingsController, :search do end describe 'GET :edit' do - let(:my_planting) { FactoryBot.create :planting, owner: member } - let(:not_my_planting) { FactoryBot.create :planting } + let(:my_planting) { FactoryBot.create(:planting, owner: member) } + let(:not_my_planting) { FactoryBot.create(:planting) } context 'my planting' do before { get :edit, params: { slug: my_planting } } diff --git a/spec/controllers/posts_controller_spec.rb b/spec/controllers/posts_controller_spec.rb index e1f044e63..927536cc0 100644 --- a/spec/controllers/posts_controller_spec.rb +++ b/spec/controllers/posts_controller_spec.rb @@ -12,8 +12,8 @@ describe PostsController do describe '#index' do before do - FactoryBot.create_list :post, 100 - FactoryBot.create_list :post, 5, author: member + FactoryBot.create_list(:post, 100) + FactoryBot.create_list(:post, 5, author: member) end describe "everyone's posts" do diff --git a/spec/controllers/seeds_controller_spec.rb b/spec/controllers/seeds_controller_spec.rb index b2172f5e6..1103abe7d 100644 --- a/spec/controllers/seeds_controller_spec.rb +++ b/spec/controllers/seeds_controller_spec.rb @@ -26,7 +26,7 @@ describe SeedsController, :search do end context 'with parent planting' do - let!(:planting) { FactoryBot.create :planting, owner: } + let!(:planting) { FactoryBot.create(:planting, owner:) } before do Seed.reindex diff --git a/spec/factories/crop.rb b/spec/factories/crop.rb index c8a8d5f9d..c14947b8d 100644 --- a/spec/factories/crop.rb +++ b/spec/factories/crop.rb @@ -55,7 +55,7 @@ FactoryBot.define do factory :crop_with_photo do name { 'marshmallow' } - photos { FactoryBot.create_list :photo, 1 } + photos { FactoryBot.create_list(:photo, 1) } end # This should have a name that is alphabetically earlier than :uppercase diff --git a/spec/factories/harvests.rb b/spec/factories/harvests.rb index cc116b627..eab219252 100644 --- a/spec/factories/harvests.rb +++ b/spec/factories/harvests.rb @@ -5,7 +5,7 @@ FactoryBot.define do factory :harvest do crop { planting.present? ? planting.crop : FactoryBot.create(:crop) } - plant_part { FactoryBot.create :plant_part } + plant_part { FactoryBot.create(:plant_part) } planting { nil } owner { planting.present? ? planting.owner : FactoryBot.create(:member) } harvested_at { Time.zone.local(2015, 9, 17) } diff --git a/spec/factories/notifications.rb b/spec/factories/notifications.rb index a143c777f..5153815e3 100644 --- a/spec/factories/notifications.rb +++ b/spec/factories/notifications.rb @@ -4,8 +4,8 @@ FactoryBot.define do factory :notification, aliases: [:message] do - sender { FactoryBot.create :member } - recipient { FactoryBot.create :member } + sender { FactoryBot.create(:member) } + recipient { FactoryBot.create(:member) } subject { "MyString" } body { "MyText" } diff --git a/spec/factories/planting.rb b/spec/factories/planting.rb index 805074bb9..8709dd32a 100644 --- a/spec/factories/planting.rb +++ b/spec/factories/planting.rb @@ -3,7 +3,7 @@ FactoryBot.define do factory :planting do owner - garden { FactoryBot.create :garden, owner: } + garden { FactoryBot.create(:garden, owner:) } crop planted_at { Time.zone.local(2014, 7, 30) } quantity { 33 } @@ -42,21 +42,21 @@ FactoryBot.define do end factory :annual_planting do - crop { FactoryBot.create :annual_crop } + crop { FactoryBot.create(:annual_crop) } end factory :perennial_planting do - crop { FactoryBot.create :perennial_crop } + crop { FactoryBot.create(:perennial_crop) } end factory :predicatable_planting do crop do - crop = FactoryBot.create :annual_crop - FactoryBot.create :planting, crop: crop, planted_at: 10.days.ago - FactoryBot.create :planting, crop: crop, planted_at: 100.days.ago, finished_at: 50.days.ago - FactoryBot.create :planting, crop: crop, planted_at: 100.days.ago, finished_at: 51.days.ago - FactoryBot.create :planting, crop: crop, planted_at: 2.years.ago, finished_at: 50.days.ago - FactoryBot.create :planting, crop: crop, planted_at: 150.days.ago, finished_at: 100.days.ago + crop = FactoryBot.create(:annual_crop) + FactoryBot.create(:planting, crop:, planted_at: 10.days.ago) + FactoryBot.create(:planting, crop:, planted_at: 100.days.ago, finished_at: 50.days.ago) + FactoryBot.create(:planting, crop:, planted_at: 100.days.ago, finished_at: 51.days.ago) + FactoryBot.create(:planting, crop:, planted_at: 2.years.ago, finished_at: 50.days.ago) + FactoryBot.create(:planting, crop:, planted_at: 150.days.ago, finished_at: 100.days.ago) crop.update_lifespan_medians crop end diff --git a/spec/features/admin/forums_spec.rb b/spec/features/admin/forums_spec.rb index dfe2f491e..fb90a9d5b 100644 --- a/spec/features/admin/forums_spec.rb +++ b/spec/features/admin/forums_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' describe "forums", js: true do include_context 'signed in admin' - let(:forum) { create :forum } + let(:forum) { create(:forum) } describe "navigating to forum admin with js" do before do diff --git a/spec/features/comments/commenting_a_comment_spec.rb b/spec/features/comments/commenting_a_comment_spec.rb index 5fdd09e01..64121a44e 100644 --- a/spec/features/comments/commenting_a_comment_spec.rb +++ b/spec/features/comments/commenting_a_comment_spec.rb @@ -4,8 +4,8 @@ require 'rails_helper' describe 'Commenting on a post' do include_context 'signed in member' - let(:member) { create :member } - let(:post) { create :post, author: member } + let(:member) { create(:member) } + let(:post) { create(:post, author: member) } before { visit new_comment_path post_id: post.id } @@ -18,7 +18,7 @@ describe 'Commenting on a post' do end context "editing a comment" do - let(:existing_comment) { create :comment, post:, author: member } + let(:existing_comment) { create(:comment, post:, author: member) } before do visit edit_comment_path existing_comment diff --git a/spec/features/conversations/index_spec.rb b/spec/features/conversations/index_spec.rb index 4728bbf4c..d2edcb4f7 100644 --- a/spec/features/conversations/index_spec.rb +++ b/spec/features/conversations/index_spec.rb @@ -3,8 +3,8 @@ require 'rails_helper' describe "Conversations", :js do - let(:sender) { create :member } - let(:recipient) { create :member, login_name: 'beyonce' } + let(:sender) { create(:member) } + let(:recipient) { create(:member, login_name: 'beyonce') } before do sender.send_message(recipient, "this is the body", "something i want to say") diff --git a/spec/features/conversations/show_spec.rb b/spec/features/conversations/show_spec.rb index 5b1e899b1..4a670e672 100644 --- a/spec/features/conversations/show_spec.rb +++ b/spec/features/conversations/show_spec.rb @@ -3,8 +3,8 @@ require 'rails_helper' describe "Conversations", :js do - let(:sender) { create :member } - let(:recipient) { create :member, login_name: 'beyonce' } + let(:sender) { create(:member) } + let(:recipient) { create(:member, login_name: 'beyonce') } before do sender.send_message(recipient, "this is the body", "something i want to say") diff --git a/spec/features/crops/alternate_name_spec.rb b/spec/features/crops/alternate_name_spec.rb index add5d9dda..8d9882daf 100644 --- a/spec/features/crops/alternate_name_spec.rb +++ b/spec/features/crops/alternate_name_spec.rb @@ -3,8 +3,8 @@ require 'rails_helper' describe "Alternate names", js: true do - let!(:alternate_eggplant) { create :alternate_eggplant } - let(:crop) { alternate_eggplant.crop } + let!(:alternate_eggplant) { create(:alternate_eggplant) } + let(:crop) { alternate_eggplant.crop } shared_examples 'show alt names' do it "can see alternate names on crop page" do @@ -20,7 +20,7 @@ describe "Alternate names", js: true do end shared_examples 'edit alt names' do - let!(:crop_wranglers) { create_list :crop_wrangling_member, 3 } + let!(:crop_wranglers) { create_list(:crop_wrangling_member, 3) } it "can edit alternate names" do visit crop_path(crop) @@ -71,8 +71,8 @@ describe "Alternate names", js: true do end context "When alternate name is rejected" do - let(:rejected_crop) { create :rejected_crop } - let(:pending_alt_name) { create :alternate_name, crop: rejected_crop } + let(:rejected_crop) { create(:rejected_crop) } + let(:pending_alt_name) { create(:alternate_name, crop: rejected_crop) } it "Displays crop rejection message" do visit alternate_name_path(pending_alt_name) diff --git a/spec/features/crops/browse_crops_spec.rb b/spec/features/crops/browse_crops_spec.rb index a3f5b3670..d4c6e5152 100644 --- a/spec/features/crops/browse_crops_spec.rb +++ b/spec/features/crops/browse_crops_spec.rb @@ -3,10 +3,10 @@ require 'rails_helper' describe "browse crops", :search do - let!(:tomato) { FactoryBot.create :tomato, :reindex } - let!(:maize) { FactoryBot.create :maize, :reindex } - let!(:pending_crop) { FactoryBot.create :crop_request, :reindex } - let!(:rejected_crop) { FactoryBot.create :rejected_crop, :reindex } + let!(:tomato) { FactoryBot.create(:tomato, :reindex) } + let!(:maize) { FactoryBot.create(:maize, :reindex) } + let!(:pending_crop) { FactoryBot.create(:crop_request, :reindex) } + let!(:rejected_crop) { FactoryBot.create(:rejected_crop, :reindex) } shared_examples 'shows crops' do before do diff --git a/spec/features/crops/crop_detail_page_spec.rb b/spec/features/crops/crop_detail_page_spec.rb index 6df7eeb52..41e9126d5 100644 --- a/spec/features/crops/crop_detail_page_spec.rb +++ b/spec/features/crops/crop_detail_page_spec.rb @@ -3,10 +3,6 @@ require 'rails_helper' describe "crop detail page", js: true do - before do - FactoryBot.create :plant_part, name: 'leaf' - end - subject do # Update the medians after all the # data has been loaded @@ -17,7 +13,11 @@ describe "crop detail page", js: true do page end - let(:crop) { create :crop } + before do + FactoryBot.create(:plant_part, name: 'leaf') + end + + let(:crop) { create(:crop) } context "varieties" do it "The crop DOES NOT have varieties" do @@ -88,7 +88,7 @@ describe "crop detail page", js: true do end context "seed quantity for a crop" do - let(:seed) { create :seed, crop:, quantity: 20 } + let(:seed) { create(:seed, crop:, quantity: 20) } it "User not signed in" do visit crop_path(seed.crop) @@ -159,7 +159,7 @@ describe "crop detail page", js: true do end context 'crop is Perennial' do - let(:crop) { FactoryBot.create :perennial_crop } + let(:crop) { FactoryBot.create(:perennial_crop) } describe 'with no harvests' do end @@ -175,7 +175,7 @@ describe "crop detail page", js: true do end context 'crop Perennial value is null' do - let(:crop) { FactoryBot.create :crop, perennial: nil } + let(:crop) { FactoryBot.create(:crop, perennial: nil) } describe 'with no harvests' do end @@ -190,7 +190,7 @@ describe "crop detail page", js: true do before { visit crop_path(crop) } context 'crop is an Annual' do - let(:crop) { FactoryBot.create :annual_crop } + let(:crop) { FactoryBot.create(:annual_crop) } it { expect(page).to have_text 'Annual' } it { expect(page).to have_text 'living and reproducing in a single year or less' } @@ -198,7 +198,7 @@ describe "crop detail page", js: true do end context 'crop is Perennial' do - let(:crop) { FactoryBot.create :perennial_crop } + let(:crop) { FactoryBot.create(:perennial_crop) } it { expect(page).to have_text 'Perennial' } it { expect(page).to have_text 'living more than two years' } @@ -206,7 +206,7 @@ describe "crop detail page", js: true do end context 'crop Perennial value is null' do - let(:crop) { FactoryBot.create :crop, perennial: nil } + let(:crop) { FactoryBot.create(:crop, perennial: nil) } it { expect(page).not_to have_text 'Perennial' } it { expect(page).not_to have_text 'Annual' } diff --git a/spec/features/crops/crop_photos_spec.rb b/spec/features/crops/crop_photos_spec.rb index 0757127a8..d2c7f397b 100644 --- a/spec/features/crops/crop_photos_spec.rb +++ b/spec/features/crops/crop_photos_spec.rb @@ -5,15 +5,15 @@ require 'rails_helper' describe "crop detail page", :js, :search do subject { page } - let!(:owner_member) { FactoryBot.create :member } + let!(:owner_member) { FactoryBot.create(:member) } - let!(:crop) { FactoryBot.create :crop, :reindex } + let!(:crop) { FactoryBot.create(:crop, :reindex) } - let(:plant_part) { FactoryBot.create :plant_part, name: 'fruit' } + let(:plant_part) { FactoryBot.create(:plant_part, name: 'fruit') } - let!(:harvest) { FactoryBot.create :harvest, crop:, owner: owner_member, plant_part: } - let!(:planting) { FactoryBot.create :planting, crop:, owner: owner_member } - let!(:seed) { FactoryBot.create :seed, crop:, owner: owner_member } + let!(:harvest) { FactoryBot.create(:harvest, crop:, owner: owner_member, plant_part:) } + let!(:planting) { FactoryBot.create(:planting, crop:, owner: owner_member) } + let!(:seed) { FactoryBot.create(:seed, crop:, owner: owner_member) } let!(:photo1) { FactoryBot.create(:photo, owner: owner_member) } let!(:photo2) { FactoryBot.create(:photo, owner: owner_member) } diff --git a/spec/features/crops/crop_wranglers_spec.rb b/spec/features/crops/crop_wranglers_spec.rb index 328e560cd..31949fcd8 100644 --- a/spec/features/crops/crop_wranglers_spec.rb +++ b/spec/features/crops/crop_wranglers_spec.rb @@ -5,10 +5,10 @@ require 'rails_helper' describe "crop wranglers", js: true do context "signed in wrangler" do include_context 'signed in crop wrangler' - let!(:crop_wranglers) { create_list :crop_wrangling_member, 3 } - let!(:crops) { create_list :crop, 2 } - let!(:requested_crop) { create :crop_request } - let!(:rejected_crop) { create :rejected_crop } + let!(:crop_wranglers) { create_list(:crop_wrangling_member, 3) } + let!(:crops) { create_list(:crop, 2) } + let!(:requested_crop) { create(:crop_request) } + let!(:rejected_crop) { create(:rejected_crop) } it "sees crop wranglers listed on the crop wrangler page" do visit root_path @@ -71,7 +71,7 @@ end context "signed in non-wrangler" do include_context 'signed in member' - let!(:crop_wranglers) { create_list :crop_wrangling_member, 3 } + let!(:crop_wranglers) { create_list(:crop_wrangling_member, 3) } it "can't see wrangling page without js", js: false do visit root_path diff --git a/spec/features/crops/delete_crop_spec.rb b/spec/features/crops/delete_crop_spec.rb index 941496e1c..04750cd98 100644 --- a/spec/features/crops/delete_crop_spec.rb +++ b/spec/features/crops/delete_crop_spec.rb @@ -4,8 +4,8 @@ require 'rails_helper' describe "Delete crop spec" do shared_examples 'delete crop' do - let!(:pending_crop) { FactoryBot.create :crop_request } - let!(:approved_crop) { FactoryBot.create :crop } + let!(:pending_crop) { FactoryBot.create(:crop_request) } + let!(:approved_crop) { FactoryBot.create(:crop) } it "deletes approved crop" do visit crop_path(approved_crop) click_link 'Actions' diff --git a/spec/features/crops/request_new_crop_spec.rb b/spec/features/crops/request_new_crop_spec.rb index 3964ad6b3..65d9c9185 100644 --- a/spec/features/crops/request_new_crop_spec.rb +++ b/spec/features/crops/request_new_crop_spec.rb @@ -17,8 +17,8 @@ describe "Requesting a new crop" do context "As a crop wrangler" do include_context 'signed in crop wrangler' - let!(:crop) { create :crop_request } - let!(:already_approved) { create :crop } + let!(:crop) { create(:crop_request) } + let!(:already_approved) { create(:crop) } it "Approve a request" do visit edit_crop_path(crop) diff --git a/spec/features/crops/requested_crops_spec.rb b/spec/features/crops/requested_crops_spec.rb index 0556fb2a6..6c5077314 100644 --- a/spec/features/crops/requested_crops_spec.rb +++ b/spec/features/crops/requested_crops_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' describe "Requesting Crops" do - let!(:requested_crop) { create :crop, requester: member, approval_status: 'pending', name: 'puha for dinner' } + let!(:requested_crop) { create(:crop, requester: member, approval_status: 'pending', name: 'puha for dinner') } context 'signed in' do include_context 'signed in member' diff --git a/spec/features/crops/scientific_name_spec.rb b/spec/features/crops/scientific_name_spec.rb index a8a523cb5..ccf2b2bbe 100644 --- a/spec/features/crops/scientific_name_spec.rb +++ b/spec/features/crops/scientific_name_spec.rb @@ -3,8 +3,8 @@ require 'rails_helper' describe "Scientific names", js: true do - let!(:zea_mays) { create :zea_mays } - let(:crop) { zea_mays.crop } + let!(:zea_mays) { create(:zea_mays) } + let(:crop) { zea_mays.crop } it "Display scientific names on crop page" do visit crop_path(zea_mays.crop) @@ -19,7 +19,7 @@ describe "Scientific names", js: true do end context "User is a crop wrangler" do - let!(:crop_wranglers) { create_list :crop_wrangling_member, 3 } + let!(:crop_wranglers) { create_list(:crop_wrangling_member, 3) } include_context 'signed in crop wrangler' it "Crop wranglers can edit scientific names" do @@ -75,8 +75,8 @@ describe "Scientific names", js: true do end context "When scientific name is pending" do - let(:pending_crop) { create :crop_request } - let(:pending_sci_name) { create :scientific_name, crop: pending_crop } + let(:pending_crop) { create(:crop_request) } + let(:pending_sci_name) { create(:scientific_name, crop: pending_crop) } it "Displays crop pending message" do visit scientific_name_path(pending_sci_name) diff --git a/spec/features/crops/show_spec.rb b/spec/features/crops/show_spec.rb index 1ae280465..23ba51b25 100644 --- a/spec/features/crops/show_spec.rb +++ b/spec/features/crops/show_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' describe "browse crops" do - let(:tomato) { FactoryBot.create :tomato } + let(:tomato) { FactoryBot.create(:tomato) } it "Show crop info" do visit crop_path(tomato) @@ -11,9 +11,9 @@ describe "browse crops" do end describe "shows varieties" do - let!(:cherry) { FactoryBot.create :crop, name: 'cherry tomato', parent: tomato } - let!(:heirloom) { FactoryBot.create :crop, name: 'heirloom tomato', parent: tomato } - let!(:striped) { FactoryBot.create :crop, name: 'striped tomato', parent: heirloom } + let!(:cherry) { FactoryBot.create(:crop, name: 'cherry tomato', parent: tomato) } + let!(:heirloom) { FactoryBot.create(:crop, name: 'heirloom tomato', parent: tomato) } + let!(:striped) { FactoryBot.create(:crop, name: 'striped tomato', parent: heirloom) } before { visit crop_path(tomato) } @@ -23,10 +23,10 @@ describe "browse crops" do end context "when the most recently created harvest is not the most recently harvested" do - before { FactoryBot.create_list :harvest, 20, crop: tomato, harvested_at: 1.year.ago, created_at: 1.minute.ago } + before { FactoryBot.create_list(:harvest, 20, crop: tomato, harvested_at: 1.year.ago, created_at: 1.minute.ago) } let!(:most_recent_harvest) do - FactoryBot.create :harvest, crop: tomato, harvested_at: 60.minutes.ago, created_at: 10.minutes.ago + FactoryBot.create(:harvest, crop: tomato, harvested_at: 60.minutes.ago, created_at: 10.minutes.ago) end it "Shows most recently harvested harvest" do @@ -36,10 +36,10 @@ describe "browse crops" do end context "when the most recently created planting is not the most recently planted" do - before { FactoryBot.create_list :planting, 20, crop: tomato, planted_at: 1.year.ago, created_at: 1.minute.ago } + before { FactoryBot.create_list(:planting, 20, crop: tomato, planted_at: 1.year.ago, created_at: 1.minute.ago) } let!(:most_recent_planting) do - FactoryBot.create :planting, crop: tomato, planted_at: 60.minutes.ago, created_at: 10.minutes.ago + FactoryBot.create(:planting, crop: tomato, planted_at: 60.minutes.ago, created_at: 10.minutes.ago) end it "Shows most recently planted planting" do diff --git a/spec/features/gardens/actions_spec.rb b/spec/features/gardens/actions_spec.rb index cb8ed4f89..3fb3462cd 100644 --- a/spec/features/gardens/actions_spec.rb +++ b/spec/features/gardens/actions_spec.rb @@ -9,7 +9,7 @@ describe "Gardens" do include_context 'signed in member' let(:garden) { member.gardens.first } - let(:other_member_garden) { FactoryBot.create :garden } + let(:other_member_garden) { FactoryBot.create(:garden) } describe '#index' do shared_examples "has buttons bar at top" do diff --git a/spec/features/gardens/gardens_spec.rb b/spec/features/gardens/gardens_spec.rb index cba6978d4..8d3170b73 100644 --- a/spec/features/gardens/gardens_spec.rb +++ b/spec/features/gardens/gardens_spec.rb @@ -6,10 +6,10 @@ describe "Planting a crop", js: true do context 'signed in' do include_context 'signed in member' # name is aaa to ensure it is ordered first - let!(:garden) { create :garden, name: 'aaa', owner: member } - let!(:planting) { create :planting, garden:, owner: garden.owner, planted_at: Date.parse("2013-3-10") } - let!(:tomato) { create :tomato } - let!(:finished_planting) { create :finished_planting, owner: garden.owner, garden:, crop: tomato } + let!(:garden) { create(:garden, name: 'aaa', owner: member) } + let!(:planting) { create(:planting, garden:, owner: garden.owner, planted_at: Date.parse("2013-3-10")) } + let!(:tomato) { create(:tomato) } + let!(:finished_planting) { create(:finished_planting, owner: garden.owner, garden:, crop: tomato) } it "View gardens" do visit gardens_path @@ -74,8 +74,8 @@ describe "Planting a crop", js: true do end context 'When a garden has a garden type' do - let(:garden_type) { create :garden_type } - let(:garden_with_type) { create :garden, garden_type: } + let(:garden_type) { create(:garden_type) } + let(:garden_with_type) { create(:garden, garden_type:) } it "Shows a garden type for a garden" do visit garden_path(garden_with_type) diff --git a/spec/features/gardens/index_spec.rb b/spec/features/gardens/index_spec.rb index 5aedb1850..8c927be37 100644 --- a/spec/features/gardens/index_spec.rb +++ b/spec/features/gardens/index_spec.rb @@ -6,11 +6,11 @@ require 'custom_matchers' describe "Gardens#index", :js do context "Logged in as member" do include_context 'signed in member' - let(:member) { FactoryBot.create :member, login_name: 'shadow' } + let(:member) { FactoryBot.create(:member, login_name: 'shadow') } context "with 10 gardens" do before do - FactoryBot.create_list :garden, 10, owner: member + FactoryBot.create_list(:garden, 10, owner: member) visit member_gardens_path(member_slug: member.slug) end @@ -28,8 +28,8 @@ describe "Gardens#index", :js do end context "with inactive gardens" do - let!(:active_garden) { FactoryBot.create :garden, name: "My active garden", owner: member } - let!(:inactive_garden) { FactoryBot.create :inactive_garden, name: "retired garden", owner: member } + let!(:active_garden) { FactoryBot.create(:garden, name: "My active garden", owner: member) } + let!(:inactive_garden) { FactoryBot.create(:inactive_garden, name: "retired garden", owner: member) } before { visit member_gardens_path(member_slug: member.slug) } @@ -55,10 +55,10 @@ describe "Gardens#index", :js do let(:tomato) { FactoryBot.create(:tomato) } let!(:planting) do - FactoryBot.create :planting, owner: member, crop: maize, garden: member.gardens.first + FactoryBot.create(:planting, owner: member, crop: maize, garden: member.gardens.first) end let!(:finished_planting) do - FactoryBot.create :finished_planting, owner: member, crop: tomato, garden: member.gardens.first + FactoryBot.create(:finished_planting, owner: member, crop: tomato, garden: member.gardens.first) end before do @@ -77,8 +77,8 @@ describe "Gardens#index", :js do describe 'badges' do let(:garden) { member.gardens.first } - let(:member) { FactoryBot.create :member, login_name: 'robbieburns' } - let(:crop) { FactoryBot.create :crop } + let(:member) { FactoryBot.create(:member, login_name: 'robbieburns') } + let(:crop) { FactoryBot.create(:crop) } before do # time to harvest = 50 day @@ -101,11 +101,11 @@ describe "Gardens#index", :js do describe 'harvest still growing' do let!(:planting) do - FactoryBot.create :planting, + FactoryBot.create(:planting, crop:, owner: member, garden:, - planted_at: Time.zone.today + planted_at: Time.zone.today) end it { expect(page).to have_link href: planting_path(planting) } @@ -116,10 +116,10 @@ describe "Gardens#index", :js do describe 'harvesting now' do let!(:planting) do - FactoryBot.create :planting, + FactoryBot.create(:planting, crop:, owner: member, garden:, - planted_at: 51.days.ago + planted_at: 51.days.ago) end it { expect(crop.median_days_to_first_harvest).to eq 50 } @@ -131,9 +131,9 @@ describe "Gardens#index", :js do describe 'super late' do let!(:planting) do - FactoryBot.create :planting, + FactoryBot.create(:planting, crop:, owner: member, - garden:, planted_at: 260.days.ago + garden:, planted_at: 260.days.ago) end it { expect(page).to have_text 'super late' } diff --git a/spec/features/harvests/browse_harvests_spec.rb b/spec/features/harvests/browse_harvests_spec.rb index 16b967f50..5c73e3020 100644 --- a/spec/features/harvests/browse_harvests_spec.rb +++ b/spec/features/harvests/browse_harvests_spec.rb @@ -5,13 +5,13 @@ require 'rails_helper' describe "browse harvests", :search do subject { page } - let!(:harvest) { create :harvest, owner: member } + let!(:harvest) { create(:harvest, owner: member) } context 'signed in' do include_context 'signed in member' describe 'blank optional fields' do - let!(:harvest) { create :harvest, :no_description, :reindex } + let!(:harvest) { create(:harvest, :no_description, :reindex) } before do Harvest.reindex @@ -24,7 +24,7 @@ describe "browse harvests", :search do end describe "filled in optional fields" do - let!(:harvest) { create :harvest, :long_description, :reindex } + let!(:harvest) { create(:harvest, :long_description, :reindex) } before do Harvest.reindex diff --git a/spec/features/harvests/harvesting_a_crop_spec.rb b/spec/features/harvests/harvesting_a_crop_spec.rb index 1d31a21fe..765ddd245 100644 --- a/spec/features/harvests/harvesting_a_crop_spec.rb +++ b/spec/features/harvests/harvesting_a_crop_spec.rb @@ -6,8 +6,8 @@ require 'custom_matchers' describe "Harvesting a crop", :js, :search do context 'signed in' do include_context 'signed in member' - let!(:maize) { create :maize } - let!(:plant_part) { create :plant_part } + let!(:maize) { create(:maize) } + let!(:plant_part) { create(:plant_part) } before { visit new_harvest_path } @@ -65,7 +65,7 @@ describe "Harvesting a crop", :js, :search do end describe "Harvesting from planting page" do - let!(:planting) { create :planting, crop: maize, owner: member, garden: member.gardens.first } + let!(:planting) { create(:planting, crop: maize, owner: member, garden: member.gardens.first) } before do visit planting_path(planting) @@ -79,8 +79,8 @@ describe "Harvesting a crop", :js, :search do end context "Editing a harvest" do - let(:existing_harvest) { create :harvest, crop: maize, owner: member } - let!(:other_plant_part) { create :plant_part, name: 'chocolate' } + let(:existing_harvest) { create(:harvest, crop: maize, owner: member) } + let!(:other_plant_part) { create(:plant_part, name: 'chocolate') } before do visit harvest_path(existing_harvest) @@ -106,12 +106,12 @@ describe "Harvesting a crop", :js, :search do context "Viewing a harvest" do let(:existing_harvest) do - create :harvest, crop: maize, owner: member, - harvested_at: Time.zone.today + create(:harvest, crop: maize, owner: member, + harvested_at: Time.zone.today) end let!(:existing_planting) do - create :planting, crop: maize, owner: member, - planted_at: Time.zone.yesterday + create(:planting, crop: maize, owner: member, + planted_at: Time.zone.yesterday) end before do diff --git a/spec/features/home/home_spec.rb b/spec/features/home/home_spec.rb index e9117e3e8..ca58638d9 100644 --- a/spec/features/home/home_spec.rb +++ b/spec/features/home/home_spec.rb @@ -5,18 +5,18 @@ require 'rails_helper' describe "home page", :search do subject { page } - let(:member) { FactoryBot.create :member } + let(:member) { FactoryBot.create(:member) } - let(:photo) { FactoryBot.create :photo, owner: member } - let(:crop) { FactoryBot.create :crop, created_at: 1.day.ago } + let(:photo) { FactoryBot.create(:photo, owner: member) } + let(:crop) { FactoryBot.create(:crop, created_at: 1.day.ago) } - let(:planting) { FactoryBot.create :planting, owner: member, crop: } - let(:seed) { FactoryBot.create :tradable_seed, owner: member, crop: } - let(:harvest) { FactoryBot.create :harvest, owner: member, crop: } + let(:planting) { FactoryBot.create(:planting, owner: member, crop:) } + let(:seed) { FactoryBot.create(:tradable_seed, owner: member, crop:) } + let(:harvest) { FactoryBot.create(:harvest, owner: member, crop:) } - let!(:tradable_seed) { FactoryBot.create :tradable_seed, :reindex, finished: false } - let!(:finished_seed) { FactoryBot.create :tradable_seed, :reindex, finished: true } - let!(:untradable_seed) { FactoryBot.create :untradable_seed, :reindex } + let!(:tradable_seed) { FactoryBot.create(:tradable_seed, :reindex, finished: false) } + let!(:finished_seed) { FactoryBot.create(:tradable_seed, :reindex, finished: true) } + let!(:untradable_seed) { FactoryBot.create(:untradable_seed, :reindex) } before do # Add photos, so they can appear on home page diff --git a/spec/features/likeable_spec.rb b/spec/features/likeable_spec.rb index 81b2d8264..da082ee29 100644 --- a/spec/features/likeable_spec.rb +++ b/spec/features/likeable_spec.rb @@ -64,8 +64,8 @@ describe 'Likeable', :js, search: true do end describe 'crops#show' do - let(:crop) { FactoryBot.create :crop } - let(:planting) { FactoryBot.create :planting, owner: member, crop: } + let(:crop) { FactoryBot.create(:crop) } + let(:planting) { FactoryBot.create(:planting, owner: member, crop:) } let(:path) { crop_path(crop) } before { planting.photos << photo } diff --git a/spec/features/locale_spec.rb b/spec/features/locale_spec.rb index 21926159d..093aad6c1 100644 --- a/spec/features/locale_spec.rb +++ b/spec/features/locale_spec.rb @@ -5,7 +5,7 @@ require 'rails_helper' describe "Changing locales", js: true do after { I18n.locale = :en } - let(:member) { FactoryBot.create :member } + let(:member) { FactoryBot.create(:member) } it "Locale can be set with a query param" do # Login then log out, to ensure we're now logged out diff --git a/spec/features/members/ban_spec.rb b/spec/features/members/ban_spec.rb index b7c8f00fc..1f2c7b25a 100644 --- a/spec/features/members/ban_spec.rb +++ b/spec/features/members/ban_spec.rb @@ -3,8 +3,8 @@ require 'rails_helper' describe "members list" do - let!(:spammer) { FactoryBot.create :member } - let!(:admin) { FactoryBot.create :admin_member } + let!(:spammer) { FactoryBot.create(:member) } + let!(:admin) { FactoryBot.create(:admin_member) } context 'logged in as admin' do include_context 'signed in admin' diff --git a/spec/features/members/deletion_spec.rb b/spec/features/members/deletion_spec.rb index f7059965c..18e17401a 100644 --- a/spec/features/members/deletion_spec.rb +++ b/spec/features/members/deletion_spec.rb @@ -128,7 +128,7 @@ describe "member deletion" do end it "replaces comments on others' posts with deletion note, leaving post intact" do - FactoryBot.create :comment, post: othermemberpost, author: member, body: 'i am deleting my account' + FactoryBot.create(:comment, post: othermemberpost, author: member, body: 'i am deleting my account') visit post_path(othermemberpost) expect(page).not_to have_content member.login_name @@ -156,11 +156,11 @@ describe "member deletion" do context "for a crop wrangler" do let(:member) { FactoryBot.create(:crop_wrangling_member) } + let!(:ex_wrangler) { FactoryBot.create(:crop_wrangling_member, login_name: "ex_wrangler") } let(:otherwrangler) { FactoryBot.create(:crop_wrangling_member) } let(:crop) { FactoryBot.create(:crop, creator: member) } - before { FactoryBot.create(:cropbot) } - let!(:ex_wrangler) { FactoryBot.create(:crop_wrangling_member, login_name: "ex_wrangler") } + before { FactoryBot.create(:cropbot) } it "leaves crops behind" do login_as(otherwrangler) diff --git a/spec/features/members/following_spec.rb b/spec/features/members/following_spec.rb index a48bed81c..ef5b179f8 100644 --- a/spec/features/members/following_spec.rb +++ b/spec/features/members/following_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' describe "follows", :js do context "when signed out" do - let(:member) { create :member } + let(:member) { create(:member) } it "follow buttons on member profile page" do visit member_path(member) @@ -15,7 +15,7 @@ describe "follows", :js do context "when signed in" do include_context 'signed in member' - let(:other_member) { create :member } + let(:other_member) { create(:member) } it "your profile doesn't have a follow button" do visit member_path(member) diff --git a/spec/features/members/list_spec.rb b/spec/features/members/list_spec.rb index b26ead439..3ae3c7429 100644 --- a/spec/features/members/list_spec.rb +++ b/spec/features/members/list_spec.rb @@ -4,12 +4,12 @@ require 'rails_helper' describe "members list" do context "list all members" do - let!(:member1) { create :member, login_name: "Archaeopteryx", confirmed_at: Time.zone.parse('2013-02-10') } - let!(:member2) { create :member, login_name: "Zephyrosaurus", confirmed_at: Time.zone.parse('2014-01-11') } - let!(:member3) { create :member, login_name: "Testingname", confirmed_at: Time.zone.parse('2014-05-09') } - subject { page.all("#maincontainer h4.login-name") } + let!(:member1) { create(:member, login_name: "Archaeopteryx", confirmed_at: Time.zone.parse('2013-02-10')) } + let!(:member2) { create(:member, login_name: "Zephyrosaurus", confirmed_at: Time.zone.parse('2014-01-11')) } + let!(:member3) { create(:member, login_name: "Testingname", confirmed_at: Time.zone.parse('2014-05-09')) } + before do visit members_path expect(page).to have_css "#sort" diff --git a/spec/features/members/profile_spec.rb b/spec/features/members/profile_spec.rb index 22654291c..c5978b890 100644 --- a/spec/features/members/profile_spec.rb +++ b/spec/features/members/profile_spec.rb @@ -3,10 +3,10 @@ require 'rails_helper' describe "member profile", js: true do - let(:member) { create :member } - let(:other_member) { create :member } - let(:admin_member) { create :admin_member } - let(:crop_wrangler) { create :crop_wrangling_member } + let(:member) { create(:member) } + let(:other_member) { create(:member) } + let(:admin_member) { create(:admin_member) } + let(:crop_wrangler) { create(:crop_wrangling_member) } shared_examples 'member details' do it "basic details on member profile page" do @@ -23,7 +23,7 @@ describe "member profile", js: true do context "location" do it "member has set location" do - london_member = create :london_member + london_member = create(:london_member) visit member_path(london_member) expect(page).to have_content(london_member.location) expect(page).to have_css("#membermap") @@ -40,7 +40,7 @@ describe "member profile", js: true do context "email privacy" do it "public email address" do - public_member = create :public_member + public_member = create(:public_member) visit member_path(public_member) expect(page).to have_content public_member.email end @@ -62,10 +62,10 @@ describe "member profile", js: true do end context "with some activity" do - let!(:planting) { FactoryBot.create :planting, owner: member } - let!(:harvest) { FactoryBot.create :harvest, owner: member } - let!(:seed) { FactoryBot.create :seed, owner: member } - let!(:post) { FactoryBot.create :post, author: member } + let!(:planting) { FactoryBot.create(:planting, owner: member) } + let!(:harvest) { FactoryBot.create(:harvest, owner: member) } + let!(:seed) { FactoryBot.create(:seed, owner: member) } + let!(:post) { FactoryBot.create(:post, author: member) } before { visit member_path(member) } @@ -77,13 +77,13 @@ describe "member profile", js: true do end it "twitter link" do - twitter_auth = create :authentication, member: member + twitter_auth = create(:authentication, member:) visit member_path(member) expect(page).to have_link twitter_auth.name, href: "https://twitter.com/#{twitter_auth.name}" end it "flickr link" do - flickr_auth = create :flickr_authentication, member: member + flickr_auth = create(:flickr_authentication, member:) visit member_path(member) expect(page).to have_link flickr_auth.name, href: "https://flickr.com/photos/#{flickr_auth.uid}" end @@ -110,10 +110,10 @@ describe "member profile", js: true do shared_examples 'member activity' do context 'member has plantings' do - let!(:new_planting) { FactoryBot.create :planting, owner: member, planted_at: Time.zone.now } - let!(:old_planting) { FactoryBot.create :planting, owner: member, planted_at: 3.years.ago } - let!(:finished_planting) { FactoryBot.create :finished_planting, owner: member } - let!(:no_planted_at_planting) { FactoryBot.create :planting, owner: member, planted_at: nil } + let!(:new_planting) { FactoryBot.create(:planting, owner: member, planted_at: Time.zone.now) } + let!(:old_planting) { FactoryBot.create(:planting, owner: member, planted_at: 3.years.ago) } + let!(:finished_planting) { FactoryBot.create(:finished_planting, owner: member) } + let!(:no_planted_at_planting) { FactoryBot.create(:planting, owner: member, planted_at: nil) } before { visit member_path(member) } @@ -124,7 +124,7 @@ describe "member profile", js: true do end context 'member has seeds' do - let!(:seed) { FactoryBot.create :seed, owner: member } + let!(:seed) { FactoryBot.create(:seed, owner: member) } before { visit member_path(member) } @@ -132,7 +132,7 @@ describe "member profile", js: true do end context 'member has harvests' do - let!(:harvest) { FactoryBot.create :harvest, owner: member } + let!(:harvest) { FactoryBot.create(:harvest, owner: member) } before { visit member_path(member) } @@ -140,7 +140,7 @@ describe "member profile", js: true do end context 'member has posts' do - let!(:post) { FactoryBot.create :post, author: member } + let!(:post) { FactoryBot.create(:post, author: member) } before { visit member_path(member) } @@ -148,8 +148,8 @@ describe "member profile", js: true do end context 'member has comments' do - let(:post) { FactoryBot.create :post } - let!(:comment) { FactoryBot.create :comment, post:, author: member } + let(:post) { FactoryBot.create(:post) } + let!(:comment) { FactoryBot.create(:comment, post:, author: member) } before { visit member_path(member) } @@ -158,8 +158,8 @@ describe "member profile", js: true do end context 'photos' do - let(:planting) { FactoryBot.create :planting, owner: member } - let!(:photo) { FactoryBot.create :photo, owner: member, plantings: [planting] } + let(:planting) { FactoryBot.create(:planting, owner: member) } + let!(:photo) { FactoryBot.create(:photo, owner: member, plantings: [planting]) } before { visit member_path(member) } @@ -168,7 +168,25 @@ describe "member profile", js: true do end context 'plantings' do - let(:crop) { FactoryBot.create :crop } + let(:crop) { FactoryBot.create(:crop) } + let(:growing_planting) do + FactoryBot.create(:planting, + crop:, + owner: member, + planted_at: Time.zone.today) + end + let(:harvesting_planting) do + FactoryBot.create(:planting, + crop:, + owner: member, + planted_at: 51.days.ago) + end + let(:super_late_planting) do + FactoryBot.create(:planting, + crop:, owner: member, + planted_at: 260.days.ago) + end + before do # time to harvest = 50 day # time to finished = 90 days @@ -190,26 +208,6 @@ describe "member profile", js: true do visit member_path(member) end - let(:growing_planting) do - FactoryBot.create :planting, - crop:, - owner: member, - planted_at: Time.zone.today - end - - let(:harvesting_planting) do - FactoryBot.create :planting, - crop:, - owner: member, - planted_at: 51.days.ago - end - - let(:super_late_planting) do - FactoryBot.create :planting, - crop:, owner: member, - planted_at: 260.days.ago - end - it { expect(page).to have_link(href: planting_path(growing_planting)) } it { expect(page).to have_link(href: planting_path(harvesting_planting)) } it { expect(page).to have_link(href: planting_path(super_late_planting)) } diff --git a/spec/features/percy/percy_spec.rb b/spec/features/percy/percy_spec.rb index 6a574b858..23cf28afc 100644 --- a/spec/features/percy/percy_spec.rb +++ b/spec/features/percy/percy_spec.rb @@ -7,25 +7,25 @@ describe 'Test with visual testing', js: true, type: :feature do # on every run, so doesn't trigger percy to see changes before { Faker::Config.random = Random.new(42) } - let!(:member) { FactoryBot.create :member, login_name: 'percy', preferred_avatar_uri: gravatar } - let!(:crop_wrangler) { FactoryBot.create :crop_wrangling_member, login_name: 'croppy', preferred_avatar_uri: gravatar2 } - let!(:admin_user) { FactoryBot.create :admin_member, login_name: 'janitor', preferred_avatar_uri: gravatar3 } - let!(:someone_else) { FactoryBot.create :edinburgh_member, login_name: 'ruby', preferred_avatar_uri: gravatar4 } + let!(:member) { FactoryBot.create(:member, login_name: 'percy', preferred_avatar_uri: gravatar) } + let!(:crop_wrangler) { FactoryBot.create(:crop_wrangling_member, login_name: 'croppy', preferred_avatar_uri: gravatar2) } + let!(:admin_user) { FactoryBot.create(:admin_member, login_name: 'janitor', preferred_avatar_uri: gravatar3) } + let!(:someone_else) { FactoryBot.create(:edinburgh_member, login_name: 'ruby', preferred_avatar_uri: gravatar4) } let(:gravatar) { 'https://secure.gravatar.com/avatar/d021434aac03a7f7c7c0de60d07dad1c?size=150&default=identicon' } let(:gravatar2) { 'https://secure.gravatar.com/avatar/353d83d3677b142520987e1936fd093c?size=150&default=identicon' } let(:gravatar3) { 'https://secure.gravatar.com/avatar/622db62c7beab8d5d8b7a80aa6385b2f?size=150&default=identicon' } let(:gravatar4) { 'https://secure.gravatar.com/avatar/7fd767571ff5ceefc7a687a543b2c402?size=150&default=identicon' } - let!(:tomato) { FactoryBot.create :tomato, creator: someone_else } - let(:plant_part) { FactoryBot.create :plant_part, name: 'fruit' } + let!(:tomato) { FactoryBot.create(:tomato, creator: someone_else) } + let(:plant_part) { FactoryBot.create(:plant_part, name: 'fruit') } let(:tomato_photo) do - FactoryBot.create :photo, + FactoryBot.create(:photo, title: 'look at my tomatoes', owner: member, fullsize_url: 'https://farm1.staticflickr.com/177/432250619_2fe19d067d_z.jpg', - thumbnail_url: 'https://farm1.staticflickr.com/177/432250619_2fe19d067d_q.jpg' + thumbnail_url: 'https://farm1.staticflickr.com/177/432250619_2fe19d067d_q.jpg') end let(:post_body) do "So, um, watering's important. Yep. Very important. @@ -66,7 +66,7 @@ rest of the garden. [apple](crop) " end - let(:post) { FactoryBot.create :post, author: member, subject: "Watering", body: post_body } + let(:post) { FactoryBot.create(:post, author: member, subject: "Watering", body: post_body) } before do # Freeze time, so we don't have variations in timestamps on the page @@ -80,23 +80,23 @@ rest of the garden. eggplant: 'https://farm8.staticflickr.com/7856/47068736892_1af9b8a4ba_q.jpg', maize: 'https://farm66.staticflickr.com/65535/46739264475_7cb55b2cbb_q.jpg' }.each do |crop_type, photo_url| - crop = FactoryBot.create crop_type, creator: someone_else + crop = FactoryBot.create(crop_type, creator: someone_else) crop.reindex - owner = FactoryBot.create :interesting_member, login_name: crop_type.to_s.reverse, email: "#{crop.name}@example.com" - planting = FactoryBot.create :planting, crop: crop, owner: owner, garden: owner.gardens.first + owner = FactoryBot.create(:interesting_member, login_name: crop_type.to_s.reverse, email: "#{crop.name}@example.com") + planting = FactoryBot.create(:planting, crop:, owner:, garden: owner.gardens.first) photo = FactoryBot.create(:photo, owner:, thumbnail_url: "#{photo_url}_q.jpg", fullsize_url: "#{photo_url}_z.jpg") planting.photos << photo - harvest = FactoryBot.create :harvest, crop: crop, owner: owner, plant_part: plant_part + harvest = FactoryBot.create(:harvest, crop:, owner:, plant_part:) harvest.photos << photo - FactoryBot.create :planting, crop: tomato, + FactoryBot.create(:planting, crop: tomato, planted_at: 1.year.ago, finished_at: 2.months.ago, - sunniness: 'sun', planted_from: 'seed' + sunniness: 'sun', planted_from: 'seed') end - FactoryBot.create :seed, owner: member, tradable_to: 'nationally' - FactoryBot.create :seed, owner: someone_else, tradable_to: 'nationally' + FactoryBot.create(:seed, owner: member, tradable_to: 'nationally') + FactoryBot.create(:seed, owner: someone_else, tradable_to: 'nationally') end after { Timecop.return } @@ -111,16 +111,16 @@ rest of the garden. describe 'crops' do it 'loads crops#show' do - FactoryBot.create :planting, planted_at: 2.months.ago, sunniness: 'shade', planted_from: 'seedling' + FactoryBot.create(:planting, planted_at: 2.months.ago, sunniness: 'shade', planted_from: 'seedling') - planting = FactoryBot.create :planting, planted_at: 1.year.ago, sunniness: 'sun', planted_from: 'seed', crop: tomato + planting = FactoryBot.create(:planting, planted_at: 1.year.ago, sunniness: 'sun', planted_from: 'seed', crop: tomato) FactoryBot.create(:harvest, crop: tomato, plant_part: FactoryBot.create(:plant_part, name: 'berry'), planting:, harvested_at: 1.day.ago) - post = FactoryBot.create :post, subject: 'tomatoes are delicious' + post = FactoryBot.create(:post, subject: 'tomatoes are delicious') tomato.posts << post visit crop_path(tomato) @@ -141,7 +141,7 @@ rest of the garden. end it 'load another member plantings#show' do - planting = FactoryBot.create :planting, crop: tomato, owner: someone_else, garden: someone_else.gardens.first + planting = FactoryBot.create(:planting, crop: tomato, owner: someone_else, garden: someone_else.gardens.first) visit planting_path(planting) page.percy_snapshot(page, name: "#{prefix}/plantings#show") end @@ -155,14 +155,14 @@ rest of the garden. it 'gardens#show' do # a garden - garden = FactoryBot.create :garden, name: 'paradise', owner: member + garden = FactoryBot.create(:garden, name: 'paradise', owner: member) # with some lettuce (finished) FactoryBot.create( :planting, crop: FactoryBot.create(:crop, name: 'lettuce'), garden:, owner: member, finished_at: 2.weeks.ago ) # tomato still growing - tomato_planting = FactoryBot.create :planting, garden: garden, owner: member, crop: tomato + tomato_planting = FactoryBot.create(:planting, garden:, owner: member, crop: tomato) tomato_photo.plantings << tomato_planting visit garden_path(garden) page.percy_snapshot(page, name: "#{prefix}/gardens#show") @@ -176,10 +176,10 @@ rest of the garden. end it 'loads another members#show' do - FactoryBot.create :planting, owner: someone_else, created_at: 30.days.ago, crop: tomato - FactoryBot.create :planting, owner: someone_else, created_at: 24.days.ago, crop: tomato - FactoryBot.create :post, author: someone_else, created_at: 4.days.ago, subject: 'waiting for my tomatoes' - FactoryBot.create :harvest, owner: someone_else, created_at: 1.day.ago, crop: tomato + FactoryBot.create(:planting, owner: someone_else, created_at: 30.days.ago, crop: tomato) + FactoryBot.create(:planting, owner: someone_else, created_at: 24.days.ago, crop: tomato) + FactoryBot.create(:post, author: someone_else, created_at: 4.days.ago, subject: 'waiting for my tomatoes') + FactoryBot.create(:harvest, owner: someone_else, created_at: 1.day.ago, crop: tomato) visit member_path(someone_else) page.percy_snapshot(page, name: "#{prefix}/members#show") @@ -188,18 +188,18 @@ rest of the garden. describe 'posts' do it 'loads posts#show' do - FactoryBot.create :comment, post: post - FactoryBot.create :comment, post: post + FactoryBot.create(:comment, post:) + FactoryBot.create(:comment, post:) visit post_path(post) page.percy_snapshot(page, name: "#{prefix}/posts#show") end it 'loads posts#index' do Member.all.limit(5).each do |member| - FactoryBot.create_list :post, 12, author: member + FactoryBot.create_list(:post, 12, author: member) end Post.all.order(id: :desc).limit(4) do |post| - FactoryBot.create_list :comment, rand(1..5), post: + FactoryBot.create_list(:comment, rand(1..5), post:) end visit posts_path page.percy_snapshot(page, name: "#{prefix}/posts#index") @@ -250,7 +250,7 @@ rest of the garden. include_examples 'visit pages' it 'load my plantings#show' do - planting = FactoryBot.create :planting, crop: tomato, owner: member, garden: member.gardens.first + planting = FactoryBot.create(:planting, crop: tomato, owner: member, garden: member.gardens.first) visit planting_path(planting) page.percy_snapshot(page, name: "#{prefix}/self/plantings#show") end @@ -261,7 +261,7 @@ rest of the garden. end it 'load my gardens#show' do - garden = FactoryBot.create :garden, name: 'paradise', owner: member + garden = FactoryBot.create(:garden, name: 'paradise', owner: member) visit garden_path(garden) page.percy_snapshot(page, name: "#{prefix}/self/gardens#show") end @@ -306,19 +306,19 @@ rest of the garden. describe '#edit' do it 'loads gardens#edit' do - garden = FactoryBot.create :garden, owner: member + garden = FactoryBot.create(:garden, owner: member) visit edit_garden_path(garden) page.percy_snapshot(page, name: "#{prefix}/gardens#edit") end it 'loads harvests#edit' do - harvest = FactoryBot.create :harvest, owner: member + harvest = FactoryBot.create(:harvest, owner: member) visit edit_harvest_path(harvest) page.percy_snapshot(page, name: "#{prefix}/harvests#edit") end it 'loads planting#edit' do - planting = FactoryBot.create :planting, owner: member + planting = FactoryBot.create(:planting, owner: member) visit edit_planting_path(planting) page.percy_snapshot(page, name: "#{prefix}/plantings#edit") end @@ -350,7 +350,7 @@ rest of the garden. context 'wrangling crops' do include_context 'signed in crop wrangler' - let!(:candy) { FactoryBot.create :crop_request, name: 'candy' } + let!(:candy) { FactoryBot.create(:crop_request, name: 'candy') } it 'crop wrangling page' do visit wrangle_crops_path diff --git a/spec/features/photos/new_photo_spec.rb b/spec/features/photos/new_photo_spec.rb index 85611f14e..f491113b6 100644 --- a/spec/features/photos/new_photo_spec.rb +++ b/spec/features/photos/new_photo_spec.rb @@ -6,7 +6,7 @@ describe "new photo page" do context "signed in member" do include_context 'signed in member' context "viewing a planting" do - let(:planting) { FactoryBot.create :planting, owner: member } + let(:planting) { FactoryBot.create(:planting, owner: member) } it "add photo" do visit planting_path(planting) @@ -20,7 +20,7 @@ describe "new photo page" do end context "viewing a harvest" do - let(:harvest) { FactoryBot.create :harvest, owner: member } + let(:harvest) { FactoryBot.create(:harvest, owner: member) } it "add photo" do visit harvest_path(harvest) @@ -33,7 +33,7 @@ describe "new photo page" do end context "viewing a garden" do - let(:garden) { FactoryBot.create :garden, owner: member } + let(:garden) { FactoryBot.create(:garden, owner: member) } it "add photo" do visit garden_path(garden) @@ -46,7 +46,7 @@ describe "new photo page" do end describe "viewing a seed" do - let(:seed) { FactoryBot.create :seed, owner: member } + let(:seed) { FactoryBot.create(:seed, owner: member) } it "add photo" do visit seed_path(seed) diff --git a/spec/features/photos/show_photo_spec.rb b/spec/features/photos/show_photo_spec.rb index 6671e2a68..9a6aef513 100644 --- a/spec/features/photos/show_photo_spec.rb +++ b/spec/features/photos/show_photo_spec.rb @@ -6,8 +6,8 @@ describe "show photo page" do context "signed in member" do include_context 'signed in member' context "linked to planting" do - let(:planting) { create :planting } - let(:photo) { create :photo, owner: planting.owner } + let(:planting) { create(:planting) } + let(:photo) { create(:photo, owner: planting.owner) } context "shows linkback to planting" do before do @@ -25,8 +25,8 @@ describe "show photo page" do end context "linked to harvest" do - let(:photo) { create :photo, owner: harvest.owner } - let(:harvest) { create :harvest } + let(:photo) { create(:photo, owner: harvest.owner) } + let(:harvest) { create(:harvest) } context "shows linkback to harvest" do before do @@ -40,8 +40,8 @@ describe "show photo page" do end context "linked to garden" do - let(:photo) { create :photo, owner: garden.owner } - let(:garden) { create :garden } + let(:photo) { create(:photo, owner: garden.owner) } + let(:garden) { create(:garden) } context "shows linkback to garden" do before do @@ -55,8 +55,8 @@ describe "show photo page" do end context "linked to seed" do - let(:photo) { create :photo, owner: seed.owner } - let(:seed) { create :seed } + let(:photo) { create(:photo, owner: seed.owner) } + let(:seed) { create(:seed) } context "shows linkback to seed" do before do diff --git a/spec/features/places/searching_a_place_spec.rb b/spec/features/places/searching_a_place_spec.rb index 711e9cedb..16a059f1a 100644 --- a/spec/features/places/searching_a_place_spec.rb +++ b/spec/features/places/searching_a_place_spec.rb @@ -3,11 +3,11 @@ require "rails_helper" describe "User searches" do - let!(:located_member) { create :member, location: "Philippines" } - let!(:maize) { create :maize } - let(:garden) { create :garden, owner: located_member } - let!(:seed1) { create :seed, owner: located_member } - let!(:planting) { create :planting, garden:, owner: located_member, planted_at: Date.parse("2013-3-10") } + let!(:located_member) { create(:member, location: "Philippines") } + let!(:maize) { create(:maize) } + let(:garden) { create(:garden, owner: located_member) } + let!(:seed1) { create(:seed, owner: located_member) } + let!(:planting) { create(:planting, garden:, owner: located_member, planted_at: Date.parse("2013-3-10")) } describe "with a valid place" do before do diff --git a/spec/features/planting_reminder_spec.rb b/spec/features/planting_reminder_spec.rb index cbfa7a643..5e5adab69 100644 --- a/spec/features/planting_reminder_spec.rb +++ b/spec/features/planting_reminder_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' require 'capybara/email/rspec' describe "Planting reminder email", :js do - let(:member) { create :member } + let(:member) { create(:member) } let(:mail) { NotifierMailer.planting_reminder(member) } # Unfortunately, we can't use the default url options for ActionMailer as configured in @@ -30,8 +30,8 @@ describe "Planting reminder email", :js do context "when member has some plantings" do # Bangs are used on the following 2 let blocks in order to ensure that the plantings are present # in the database before the email is generated: otherwise, they won't be present in the email. - let!(:p1) { FactoryBot.create :predicatable_planting, planted_at: 10.days.ago, garden: member.gardens.first, owner: member } - let!(:p2) { FactoryBot.create :predicatable_planting, planted_at: 30.days.ago, garden: member.gardens.first, owner: member } + let!(:p1) { FactoryBot.create(:predicatable_planting, planted_at: 10.days.ago, garden: member.gardens.first, owner: member) } + let!(:p2) { FactoryBot.create(:predicatable_planting, planted_at: 30.days.ago, garden: member.gardens.first, owner: member) } describe "lists plantings" do it { expect(mail).to have_content "Progress report" } @@ -50,10 +50,10 @@ describe "Planting reminder email", :js do context "when member has some harvests" do # Bangs are used on the following 2 let blocks in order to ensure that the plantings are present # in the database before the spec is run. - let!(:p1) { FactoryBot.create :predicatable_planting, garden: member.gardens.first, owner: member, planted_at: 20.days.ago } - let!(:p2) { FactoryBot.create :predicatable_planting, garden: member.gardens.first, owner: member } - let!(:h1) { FactoryBot.create :harvest, owner: member, planting: p1, harvested_at: 1.day.ago } - let!(:h2) { FactoryBot.create :harvest, owner: member, planting: p2, harvested_at: 3.days.ago } + let!(:p1) { FactoryBot.create(:predicatable_planting, garden: member.gardens.first, owner: member, planted_at: 20.days.ago) } + let!(:p2) { FactoryBot.create(:predicatable_planting, garden: member.gardens.first, owner: member) } + let!(:h1) { FactoryBot.create(:harvest, owner: member, planting: p1, harvested_at: 1.day.ago) } + let!(:h2) { FactoryBot.create(:harvest, owner: member, planting: p2, harvested_at: 3.days.ago) } describe "lists planting that are ready for harvest" do it { expect(mail).to have_content "Ready to harvest" } diff --git a/spec/features/plantings/planting_a_crop_spec.rb b/spec/features/plantings/planting_a_crop_spec.rb index 2577350d9..2e17252cf 100644 --- a/spec/features/plantings/planting_a_crop_spec.rb +++ b/spec/features/plantings/planting_a_crop_spec.rb @@ -4,10 +4,10 @@ require "rails_helper" require 'custom_matchers' describe "Planting a crop", :js, :search do - let!(:maize) { FactoryBot.create :maize } - let(:garden) { FactoryBot.create :garden, owner: member, name: 'Orchard' } + let!(:maize) { FactoryBot.create(:maize) } + let(:garden) { FactoryBot.create(:garden, owner: member, name: 'Orchard') } let!(:planting) do - FactoryBot.create :planting, garden:, owner: member, planted_at: Date.parse("2013-03-10") + FactoryBot.create(:planting, garden:, owner: member, planted_at: Date.parse("2013-03-10")) end before { Planting.reindex } diff --git a/spec/features/plantings/prediction_spec.rb b/spec/features/plantings/prediction_spec.rb index 813250bbb..fa3f409de 100644 --- a/spec/features/plantings/prediction_spec.rb +++ b/spec/features/plantings/prediction_spec.rb @@ -4,9 +4,9 @@ require "rails_helper" require 'custom_matchers' describe "Display a planting", :js do describe 'planting perennial' do - let(:garden) { FactoryBot.create :garden, location: 'Edinburgh' } + let(:garden) { FactoryBot.create(:garden, location: 'Edinburgh') } let(:crop) { FactoryBot.create(:crop, name: 'feijoa', perennial: true) } - let(:planting) { FactoryBot.create :planting, crop:, garden:, owner: garden.owner } + let(:planting) { FactoryBot.create(:planting, crop:, garden:, owner: garden.owner) } describe 'no harvest to predict from' do before { visit planting_path(planting) } @@ -17,9 +17,9 @@ describe "Display a planting", :js do describe 'harvests used to predict' do before do - FactoryBot.create :harvest, planting: planting, crop: crop, harvested_at: '1 May 2019' - FactoryBot.create :harvest, planting: planting, crop: crop, harvested_at: '18 June 2019' - FactoryBot.create_list :harvest, 4, planting:, crop:, harvested_at: '18 August 2019' + FactoryBot.create(:harvest, planting:, crop:, harvested_at: '1 May 2019') + FactoryBot.create(:harvest, planting:, crop:, harvested_at: '18 June 2019') + FactoryBot.create_list(:harvest, 4, planting:, crop:, harvested_at: '18 August 2019') end before { visit planting_path(planting) } @@ -36,23 +36,23 @@ describe "Display a planting", :js do before do # Near by planting with harvests - nearby_garden = FactoryBot.create :garden, location: 'Greenwich, UK' - nearby_planting = FactoryBot.create :planting, crop: crop, - garden: nearby_garden, owner: nearby_garden.owner, planted_at: '1 January 2000' - FactoryBot.create :harvest, planting: nearby_planting, crop: crop, - harvested_at: '1 May 2019' - FactoryBot.create :harvest, planting: nearby_planting, crop: crop, - harvested_at: '18 June 2019' - FactoryBot.create_list :harvest, 4, planting: nearby_planting, crop: crop, - harvested_at: '18 August 2008' + nearby_garden = FactoryBot.create(:garden, location: 'Greenwich, UK') + nearby_planting = FactoryBot.create(:planting, crop:, + garden: nearby_garden, owner: nearby_garden.owner, planted_at: '1 January 2000') + FactoryBot.create(:harvest, planting: nearby_planting, crop:, + harvested_at: '1 May 2019') + FactoryBot.create(:harvest, planting: nearby_planting, crop:, + harvested_at: '18 June 2019') + FactoryBot.create_list(:harvest, 4, planting: nearby_planting, crop:, + harvested_at: '18 August 2008') # far away planting harvests - faraway_garden = FactoryBot.create :garden, location: 'Amundsen-Scott Base, Antarctica' - faraway_planting = FactoryBot.create :planting, garden: faraway_garden, crop: crop, - owner: faraway_garden.owner, planted_at: '16 May 2001' + faraway_garden = FactoryBot.create(:garden, location: 'Amundsen-Scott Base, Antarctica') + faraway_planting = FactoryBot.create(:planting, garden: faraway_garden, crop:, + owner: faraway_garden.owner, planted_at: '16 May 2001') - FactoryBot.create_list :harvest, 4, planting: faraway_planting, crop:, - harvested_at: '18 December 2006' + FactoryBot.create_list(:harvest, 4, planting: faraway_planting, crop:, + harvested_at: '18 December 2006') end before { visit planting_path(planting) } diff --git a/spec/features/plantings/show_spec.rb b/spec/features/plantings/show_spec.rb index 01053987c..8d8c8a396 100644 --- a/spec/features/plantings/show_spec.rb +++ b/spec/features/plantings/show_spec.rb @@ -8,25 +8,25 @@ describe "Display a planting", :js do before { visit planting_path(planting) } context 'Perennial planted long ago' do - let(:planting) { FactoryBot.create :perennial_planting } + let(:planting) { FactoryBot.create(:perennial_planting) } it { expect(page).to have_text 'Perennial' } end context 'Perennial finished' do - let(:planting) { FactoryBot.create :perennial_planting, planted_at: 6.years.ago, finished: true, finished_at: 1.year.ago } + let(:planting) { FactoryBot.create(:perennial_planting, planted_at: 6.years.ago, finished: true, finished_at: 1.year.ago) } it { expect(page).to have_text 'Perennial' } end context 'Annual no predictions' do - let(:planting) { FactoryBot.create :annual_planting } + let(:planting) { FactoryBot.create(:annual_planting) } it { expect(page).not_to have_text 'Finish expected' } end context 'Annual with predicted finish' do - let(:planting) { FactoryBot.create :predicatable_planting, planted_at: 2.weeks.ago } + let(:planting) { FactoryBot.create(:predicatable_planting, planted_at: 2.weeks.ago) } it { expect(page).to have_text '28%' } it { expect(page).to have_text '14/50 days' } @@ -35,7 +35,7 @@ describe "Display a planting", :js do end context 'Annual finished' do - let(:planting) { FactoryBot.create :annual_planting, planted_at: 100.days.ago, finished: true, finished_at: 1.day.ago } + let(:planting) { FactoryBot.create(:annual_planting, planted_at: 100.days.ago, finished: true, finished_at: 1.day.ago) } it { expect(page).to have_text "Planted #{I18n.l(planting.planted_at)}" } end @@ -48,7 +48,7 @@ describe "Display a planting", :js do context 'Planting with harvest predictable' do let(:planting) do - crop = FactoryBot.create :annual_crop + crop = FactoryBot.create(:annual_crop) # 50 days to harvest FactoryBot.create(:harvest, harvested_at: 150.days.ago, crop:, planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop:)) @@ -60,14 +60,14 @@ describe "Display a planting", :js do planting: FactoryBot.create(:planting, planted_at: 200.days.ago, crop:)) crop.update_medians - FactoryBot.create :annual_planting, planted_at: 200.days.ago, crop: + FactoryBot.create(:annual_planting, planted_at: 200.days.ago, crop:) end it { expect(page).to have_text 'First harvest expected' } end context 'with quantity' do - let(:planting) { FactoryBot.create :planting, quantity: 100 } + let(:planting) { FactoryBot.create(:planting, quantity: 100) } it { expect(find('.plantingfact--quantity')).to have_text '100' } end @@ -78,8 +78,8 @@ describe "Display a planting", :js do before { visit planting_path(planting) } context 'with matching seeds' do - let(:seed) { FactoryBot.create :seed, saved_at: 1.month.ago, owner: member } - let(:planting) { FactoryBot.create :planting, planted_at: 1.day.ago, crop: seed.crop, owner: member } + let(:seed) { FactoryBot.create(:seed, saved_at: 1.month.ago, owner: member) } + let(:planting) { FactoryBot.create(:planting, planted_at: 1.day.ago, crop: seed.crop, owner: member) } it { expect(page).to have_text 'Is this from one of these plantings? ' } diff --git a/spec/features/posts/posting_a_post_spec.rb b/spec/features/posts/posting_a_post_spec.rb index cd1a4b0a4..4c1e52c65 100644 --- a/spec/features/posts/posting_a_post_spec.rb +++ b/spec/features/posts/posting_a_post_spec.rb @@ -16,7 +16,7 @@ describe 'Post a post' do end context "editing a post" do - let(:existing_post) { create :post, author: member } + let(:existing_post) { create(:post, author: member) } before do visit edit_post_path(existing_post) diff --git a/spec/features/rss/members_spec.rb b/spec/features/rss/members_spec.rb index ba63a1a23..d5e2546f7 100644 --- a/spec/features/rss/members_spec.rb +++ b/spec/features/rss/members_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' describe 'Members RSS feed' do - let(:member) { create :member } + let(:member) { create(:member) } before { visit member_path(member, format: 'rss') } diff --git a/spec/features/seeds/adding_seeds_spec.rb b/spec/features/seeds/adding_seeds_spec.rb index ded0977c3..f3ea7bf0e 100644 --- a/spec/features/seeds/adding_seeds_spec.rb +++ b/spec/features/seeds/adding_seeds_spec.rb @@ -6,7 +6,7 @@ require 'custom_matchers' describe "Seeds", :js, :search do context 'signed in' do include_context 'signed in member' - let!(:maize) { create :maize } + let!(:maize) { create(:maize) } before { visit new_seed_path } diff --git a/spec/features/seeds/misc_seeds_spec.rb b/spec/features/seeds/misc_seeds_spec.rb index f9b0577fb..bbe357d25 100644 --- a/spec/features/seeds/misc_seeds_spec.rb +++ b/spec/features/seeds/misc_seeds_spec.rb @@ -6,7 +6,7 @@ describe "seeds", js: true do context "signed in user" do include_context 'signed in member' xit "button on index to edit seed" do - let!(:seed) { create :seed, owner: member } + let!(:seed) { create(:seed, owner: member) } before do visit seeds_path @@ -43,7 +43,7 @@ describe "seeds", js: true do # actually adding seeds is in spec/features/seeds_new_spec.rb it "edit seeds" do - seed = create :seed, owner: member + seed = create(:seed, owner: member) visit seed_path(seed) click_link 'Actions' click_link 'Edit' @@ -54,7 +54,7 @@ describe "seeds", js: true do end describe "delete seeds" do - let(:seed) { FactoryBot.create :seed, owner: member } + let(:seed) { FactoryBot.create(:seed, owner: member) } before do visit seed_path(seed) @@ -71,25 +71,25 @@ describe "seeds", js: true do before { visit seed_path(seed) } describe "view seeds with max and min days until maturity" do - let(:seed) { FactoryBot.create :seed, days_until_maturity_min: 5, days_until_maturity_max: 7 } + let(:seed) { FactoryBot.create(:seed, days_until_maturity_min: 5, days_until_maturity_max: 7) } it { expect(find('.seedfacts--maturity')).to have_content("5–7") } end describe "view seeds with only max days until maturity" do - let(:seed) { FactoryBot.create :seed, days_until_maturity_max: 7 } + let(:seed) { FactoryBot.create(:seed, days_until_maturity_max: 7) } it { expect(find('.seedfacts--maturity')).to have_content("7") } end describe "view seeds with only min days until maturity" do - let(:seed) { FactoryBot.create :seed, days_until_maturity_min: 5 } + let(:seed) { FactoryBot.create(:seed, days_until_maturity_min: 5) } it { expect(find('.seedfacts--maturity')).to have_content("5") } end describe "view seeds with neither max nor min days until maturity" do - let(:seed) { FactoryBot.create :seed } + let(:seed) { FactoryBot.create(:seed) } it { expect(find('.seedfacts--maturity')).to have_content "unknown" } end diff --git a/spec/features/seeds/seed_photos.rb b/spec/features/seeds/seed_photos.rb index 61941b7f2..81375f899 100644 --- a/spec/features/seeds/seed_photos.rb +++ b/spec/features/seeds/seed_photos.rb @@ -5,13 +5,13 @@ require 'custom_matchers' describe "Seeds", :js do context 'signed in' do + subject { page } + include_context 'signed in member' before { visit seed_path(seed) } - subject { page } - - let(:member) { FactoryBot.create :member } - let!(:seed) { FactoryBot.create :seed, owner: member } + let(:member) { FactoryBot.create(:member) } + let!(:seed) { FactoryBot.create(:seed, owner: member) } it { is_expected.to have_content 'Add photo' } @@ -21,7 +21,7 @@ describe "Seeds", :js do context 'has one photo' do before { seed.photos = [photo] } - let!(:photo) { FactoryBot.create :photo, title: 'hello photo' } + let!(:photo) { FactoryBot.create(:photo, title: 'hello photo') } it { is_expected.to have_xpath("//img[contains(@src,'#{photo.thumbnail_url}')]") } it { is_expected.to have_xpath("//a[contains(@href,'#{photo_path(photo)}')]") } @@ -30,7 +30,7 @@ describe "Seeds", :js do context 'has 50 photos' do before { seed.photos = photos } - let!(:photos) { FactoryBot.create_list :photo, 50 } + let!(:photos) { FactoryBot.create_list(:photo, 50) } it "shows newest photo" do expect(subject).to have_xpath("//img[contains(@src,'#{photos.last.thumbnail_url}')]") diff --git a/spec/features/shared_examples/crop_suggest.rb b/spec/features/shared_examples/crop_suggest.rb index 2a6e57794..03ac664d6 100644 --- a/spec/features/shared_examples/crop_suggest.rb +++ b/spec/features/shared_examples/crop_suggest.rb @@ -3,10 +3,10 @@ require 'rails_helper' shared_examples "crop suggest" do |resource| - let!(:pea) { create :crop, name: 'pea' } - let!(:pear) { create :pear } - let!(:tomato) { create :tomato } - let!(:roma) { create :roma } + let!(:pea) { create(:crop, name: 'pea') } + let!(:pear) { create(:pear) } + let!(:tomato) { create(:tomato) } + let!(:roma) { create(:roma) } it "placeholder text in crop auto suggest field" do expect(page).to have_selector("input[placeholder='e.g. lettuce']") diff --git a/spec/features/signin_spec.rb b/spec/features/signin_spec.rb index a5b090a8f..6ea441989 100644 --- a/spec/features/signin_spec.rb +++ b/spec/features/signin_spec.rb @@ -3,12 +3,12 @@ require 'rails_helper' describe "signin", js: true do - let(:member) { FactoryBot.create :member } - let(:recipient) { FactoryBot.create :member } - let(:wrangler) { FactoryBot.create :crop_wrangling_member } + let(:member) { FactoryBot.create(:member) } + let(:recipient) { FactoryBot.create(:member) } + let(:wrangler) { FactoryBot.create(:crop_wrangling_member) } before do - crop = FactoryBot.create :tomato + crop = FactoryBot.create(:tomato) crop.reindex end @@ -74,7 +74,7 @@ describe "signin", js: true do end it "after crop wrangler signs in and crops await wrangling, show alert" do - create :crop_request + create(:crop_request) visit crops_path # some random page click_link 'Sign in' fill_in 'Login', with: wrangler.login_name @@ -88,7 +88,7 @@ describe "signin", js: true do # Ordinarily done by database_cleaner Member.where(login_name: 'tdawg').delete_all - create :member, login_name: 'tdawg', email: 'example.oauth.facebook@example.com' + create(:member, login_name: 'tdawg', email: 'example.oauth.facebook@example.com') # Start the test visit root_path diff --git a/spec/features/signout_spec.rb b/spec/features/signout_spec.rb index 12e450e65..3756ae437 100644 --- a/spec/features/signout_spec.rb +++ b/spec/features/signout_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' describe "signout" do - let(:member) { create :member } + let(:member) { create(:member) } it "redirect to previous page after signout" do visit crops_path # some random page @@ -42,7 +42,7 @@ describe "signout" do end it 'photos' do - garden = FactoryBot.create :garden, owner: member + garden = FactoryBot.create(:garden, owner: member) visit "/photos/new?id=#{garden.id}&type=garden" expect(page).to have_current_path new_member_session_path, ignore_query: true # expect(page).to have_http_status(200) diff --git a/spec/features/timeline/index_spec.rb b/spec/features/timeline/index_spec.rb index 004f333d0..53d02879b 100644 --- a/spec/features/timeline/index_spec.rb +++ b/spec/features/timeline/index_spec.rb @@ -3,9 +3,9 @@ require 'rails_helper' describe "timeline", js: true do - let(:member) { FactoryBot.create :member } - let(:friend1) { FactoryBot.create :member } - let(:friend2) { FactoryBot.create :member } + let(:member) { FactoryBot.create(:member) } + let(:friend1) { FactoryBot.create(:member) } + let(:friend2) { FactoryBot.create(:member) } before do member.followed << friend1 @@ -13,10 +13,10 @@ describe "timeline", js: true do end describe 'visit timeline' do - let!(:friend_planting) { FactoryBot.create :planting, owner: friend1, planted_at: 1.day.ago } - let!(:friend_harvest) { FactoryBot.create :planting, owner: friend2, planted_at: 3.years.ago } - let!(:finished_planting) { FactoryBot.create :finished_planting, owner: friend1 } - let!(:no_planted_at_planting) { FactoryBot.create :planting, owner: friend2, planted_at: nil } + let!(:friend_planting) { FactoryBot.create(:planting, owner: friend1, planted_at: 1.day.ago) } + let!(:friend_harvest) { FactoryBot.create(:planting, owner: friend2, planted_at: 3.years.ago) } + let!(:finished_planting) { FactoryBot.create(:finished_planting, owner: friend1) } + let!(:no_planted_at_planting) { FactoryBot.create(:planting, owner: friend2, planted_at: nil) } before do login_as(member) diff --git a/spec/features/unsubscribing_spec.rb b/spec/features/unsubscribing_spec.rb index 8115fac9d..ddb625223 100644 --- a/spec/features/unsubscribing_spec.rb +++ b/spec/features/unsubscribing_spec.rb @@ -4,8 +4,8 @@ require 'rails_helper' require 'capybara/email/rspec' describe "unsubscribe" do - let(:member) { create :member } - let(:notification) { create :notification } + let(:member) { create(:member) } + let(:notification) { create(:notification) } before { clear_emails } diff --git a/spec/helpers/buttons_helper_spec.rb b/spec/helpers/buttons_helper_spec.rb index b55a4668a..4076f887c 100644 --- a/spec/helpers/buttons_helper_spec.rb +++ b/spec/helpers/buttons_helper_spec.rb @@ -15,10 +15,10 @@ require 'rails_helper' RSpec.describe ButtonsHelper, type: :helper do before { allow(self).to receive(:can?).and_return(true) } - let(:garden) { FactoryBot.create :garden } - let(:planting) { FactoryBot.create :planting } - let(:harvest) { FactoryBot.create :harvest } - let(:seed) { FactoryBot.create :seed } + let(:garden) { FactoryBot.create(:garden) } + let(:planting) { FactoryBot.create(:planting) } + let(:harvest) { FactoryBot.create(:harvest) } + let(:seed) { FactoryBot.create(:seed) } describe 'add_photo_button' do it { expect(add_photo_button(garden)).to include "/photos/new?id=#{garden.id}&type=garden" } diff --git a/spec/helpers/crops_helper_spec.rb b/spec/helpers/crops_helper_spec.rb index 07d8bc3fe..7099ad066 100644 --- a/spec/helpers/crops_helper_spec.rb +++ b/spec/helpers/crops_helper_spec.rb @@ -5,8 +5,8 @@ require 'rails_helper' describe CropsHelper do describe "display_seed_availability" do before do - @member = create :member - @crop = create :tomato + @member = create(:member) + @crop = create(:tomato) end context "with no seeds" do @@ -17,7 +17,7 @@ describe CropsHelper do context "with an unknown quantity of seeds" do before do - create :seed, crop: @crop, quantity: nil, owner: @member + create(:seed, crop: @crop, quantity: nil, owner: @member) end it 'renders' do @@ -29,12 +29,12 @@ describe CropsHelper do context "with an quantity of seeds" do before do - a_different_crop = create :apple + a_different_crop = create(:apple) - create :seed, crop: @crop, quantity: 20, owner: @member - create :seed, crop: @crop, quantity: 13, owner: @member + create(:seed, crop: @crop, quantity: 20, owner: @member) + create(:seed, crop: @crop, quantity: 13, owner: @member) - create :seed, crop: a_different_crop, quantity: 3, owner: @member + create(:seed, crop: a_different_crop, quantity: 3, owner: @member) end it 'renders' do diff --git a/spec/helpers/event_helper_spec.rb b/spec/helpers/event_helper_spec.rb index d18d53a76..733b6ee11 100644 --- a/spec/helpers/event_helper_spec.rb +++ b/spec/helpers/event_helper_spec.rb @@ -3,15 +3,15 @@ require 'rails_helper' RSpec.describe EventHelper, type: :helper do - let(:planting) { FactoryBot.create :planting } - let(:harvest) { FactoryBot.create :harvest } - let(:seed) { FactoryBot.create :seed } - let(:post) { FactoryBot.create :post } - let(:comment) { FactoryBot.create :comment } - let(:photo) { FactoryBot.create :photo } - subject { resolve_model(event) } + let(:planting) { FactoryBot.create(:planting) } + let(:harvest) { FactoryBot.create(:harvest) } + let(:seed) { FactoryBot.create(:seed) } + let(:post) { FactoryBot.create(:post) } + let(:comment) { FactoryBot.create(:comment) } + let(:photo) { FactoryBot.create(:photo) } + describe 'plantings' do let(:event) { OpenStruct.new(id: planting.id, event_type: 'planting') } diff --git a/spec/helpers/photos_helper_spec.rb b/spec/helpers/photos_helper_spec.rb index dffebaafe..5c93d2fcf 100644 --- a/spec/helpers/photos_helper_spec.rb +++ b/spec/helpers/photos_helper_spec.rb @@ -3,16 +3,16 @@ require 'rails_helper' describe PhotosHelper do - let(:crop) { FactoryBot.create :crop } + let(:crop) { FactoryBot.create(:crop) } let(:crop_photo_of) { FactoryBot.create(:photo, source: 'openfarm') } let(:crop_photo_flickr) { FactoryBot.create(:photo, source: 'flickr') } - let(:garden) { FactoryBot.create :garden } - let(:planting) { FactoryBot.create :planting, crop:, owner: garden.owner } + let(:garden) { FactoryBot.create(:garden) } + let(:planting) { FactoryBot.create(:planting, crop:, owner: garden.owner) } let(:planting_photo) { FactoryBot.create(:photo, owner: garden.owner) } - let(:harvest) { FactoryBot.create :harvest, crop:, owner: garden.owner } + let(:harvest) { FactoryBot.create(:harvest, crop:, owner: garden.owner) } let(:harvest_photo) { FactoryBot.create(:photo, owner: garden.owner) } - let(:seed) { FactoryBot.create :seed, crop:, owner: garden.owner } + let(:seed) { FactoryBot.create(:seed, crop:, owner: garden.owner) } let(:seed_photo) { FactoryBot.create(:photo, owner: garden.owner) } describe "crops" do diff --git a/spec/lib/actions/oauth_signup_action_spec.rb b/spec/lib/actions/oauth_signup_action_spec.rb index 0aec819bd..ebdf9f895 100644 --- a/spec/lib/actions/oauth_signup_action_spec.rb +++ b/spec/lib/actions/oauth_signup_action_spec.rb @@ -76,9 +76,9 @@ describe 'Growstuff::OauthSignupAction' do @auth['info']['email'] = 'never.used.oauth@yahoo.com' Member.where(email: @auth['info']['email']).delete_all - @existing_member = create :member, email: @auth['info']['email'], + @existing_member = create(:member, email: @auth['info']['email'], login_name: 'existing', - preferred_avatar_uri: 'http://cl.jroo.me/z3/W/H/K/e/a.baa-very-cool-hat-you-.jpg' + preferred_avatar_uri: 'http://cl.jroo.me/z3/W/H/K/e/a.baa-very-cool-hat-you-.jpg') @member = @action.find_or_create_from_authorization(@auth) @authentication = @action.establish_authentication(@auth, @member) @@ -120,9 +120,9 @@ describe 'Growstuff::OauthSignupAction' do Member.where(email: @auth['info']['email']).delete_all Authentication.delete_all - @existing_member = create :member, email: @auth['info']['email'], + @existing_member = create(:member, email: @auth['info']['email'], login_name: 'schrodingerscat', - preferred_avatar_uri: 'http://cl.jroo.me/z3/W/H/K/e/a.baa-very-cool-hat-you-.jpg' + preferred_avatar_uri: 'http://cl.jroo.me/z3/W/H/K/e/a.baa-very-cool-hat-you-.jpg') @existing_authentication = @existing_member.authentications.create(provider: 'facebook', uid: '123545', diff --git a/spec/models/alternate_name_spec.rb b/spec/models/alternate_name_spec.rb index 38eac0954..c161d1736 100644 --- a/spec/models/alternate_name_spec.rb +++ b/spec/models/alternate_name_spec.rb @@ -22,9 +22,9 @@ describe AlternateName do end describe 'relationships' do - let(:alternate_name) { FactoryBot.create :alternate_name, crop:, creator: member } - let(:crop) { FactoryBot.create :crop } - let(:member) { FactoryBot.create :member } + let(:alternate_name) { FactoryBot.create(:alternate_name, crop:, creator: member) } + let(:crop) { FactoryBot.create(:crop) } + let(:member) { FactoryBot.create(:member) } it { expect(alternate_name.crop).to eq crop } it { expect(alternate_name.creator).to eq member } diff --git a/spec/models/crop_spec.rb b/spec/models/crop_spec.rb index 16a9fee0b..423c86ade 100644 --- a/spec/models/crop_spec.rb +++ b/spec/models/crop_spec.rb @@ -143,7 +143,7 @@ describe Crop do shared_examples 'has default photo' do it { expect(described_class.has_photos).to include(crop) } end - let!(:crop) { FactoryBot.create :tomato } + let!(:crop) { FactoryBot.create(:tomato) } context 'with a planting photo' do let!(:photo) { FactoryBot.create(:photo, owner: planting.owner) } @@ -190,9 +190,9 @@ describe Crop do end describe 'finding all photos' do - let(:planting) { FactoryBot.create :planting, crop: } - let(:harvest) { FactoryBot.create :harvest, crop: } - let(:seed) { FactoryBot.create :seed, crop: } + let(:planting) { FactoryBot.create(:planting, crop:) } + let(:harvest) { FactoryBot.create(:harvest, crop:) } + let(:seed) { FactoryBot.create(:seed, crop:) } before do # Add photos to all @@ -302,7 +302,7 @@ describe Crop do let(:crop1_planting) { crop1.plantings.first } let(:crop2_planting) { crop2.plantings.first } - let(:member) { FactoryBot.create :member, login_name: 'pikachu' } + let(:member) { FactoryBot.create(:member, login_name: 'pikachu') } describe 'lists interesting crops' do before do diff --git a/spec/models/garden_type.rb b/spec/models/garden_type.rb index 74e68d5d3..d7bd192bf 100644 --- a/spec/models/garden_type.rb +++ b/spec/models/garden_type.rb @@ -30,7 +30,7 @@ describe GardenType do end describe "does not delete gardens when deleted" do - before { FactoryBot.create :garden, garden_type: } + before { FactoryBot.create(:garden, garden_type:) } let(:garden_type) { FactoryBot.create(:garden_type, name: "Massive Flower Pot") } diff --git a/spec/models/harvest_spec.rb b/spec/models/harvest_spec.rb index 1ad464893..da2bb9528 100644 --- a/spec/models/harvest_spec.rb +++ b/spec/models/harvest_spec.rb @@ -298,8 +298,8 @@ describe Harvest do end it 'excludes deleted members' do - member = FactoryBot.create :member - harvest = FactoryBot.create :harvest, owner: member + member = FactoryBot.create(:member) + harvest = FactoryBot.create(:harvest, owner: member) expect(described_class.joins(:owner).all).to include(harvest) member.destroy expect(described_class.joins(:owner).all).not_to include(harvest) diff --git a/spec/models/like_spec.rb b/spec/models/like_spec.rb index f8260a335..13f51412b 100644 --- a/spec/models/like_spec.rb +++ b/spec/models/like_spec.rb @@ -5,7 +5,7 @@ require 'rails_helper' describe Like do let(:member) { FactoryBot.create(:member) } let(:post) { FactoryBot.create(:post) } - let(:photo) { FactoryBot.create :photo } + let(:photo) { FactoryBot.create(:photo) } context 'existing like' do before do diff --git a/spec/models/photo_spec.rb b/spec/models/photo_spec.rb index d3fd558ed..fcf583719 100644 --- a/spec/models/photo_spec.rb +++ b/spec/models/photo_spec.rb @@ -35,7 +35,7 @@ describe Photo do it { expect(planting.crop.default_photo).to eq photo } describe 'and someone likes the old photo' do - before { FactoryBot.create :like, likeable: old_photo } + before { FactoryBot.create(:like, likeable: old_photo) } it { expect(planting.default_photo).to eq old_photo } it { expect(planting.crop.default_photo).to eq old_photo } @@ -185,17 +185,17 @@ describe Photo do end describe 'assocations' do - let(:harvest_crop) { FactoryBot.create :crop, name: 'harvest_crop' } - let!(:harvest) { FactoryBot.create :harvest, owner: member, crop: harvest_crop } - let!(:harvest_photo) { FactoryBot.create :photo, owner: member } + let(:harvest_crop) { FactoryBot.create(:crop, name: 'harvest_crop') } + let!(:harvest) { FactoryBot.create(:harvest, owner: member, crop: harvest_crop) } + let!(:harvest_photo) { FactoryBot.create(:photo, owner: member) } - let(:planting_crop) { FactoryBot.create :crop, name: 'planting_crop' } - let!(:planting) { FactoryBot.create :planting, owner: member, crop: planting_crop } - let!(:planting_photo) { FactoryBot.create :photo, owner: member } + let(:planting_crop) { FactoryBot.create(:crop, name: 'planting_crop') } + let!(:planting) { FactoryBot.create(:planting, owner: member, crop: planting_crop) } + let!(:planting_photo) { FactoryBot.create(:photo, owner: member) } - let(:seed_crop) { FactoryBot.create :crop, name: 'seed_crop' } - let!(:seed) { FactoryBot.create :seed, owner: member, crop: seed_crop } - let!(:seed_photo) { FactoryBot.create :photo, owner: member } + let(:seed_crop) { FactoryBot.create(:crop, name: 'seed_crop') } + let!(:seed) { FactoryBot.create(:seed, owner: member, crop: seed_crop) } + let!(:seed_photo) { FactoryBot.create(:photo, owner: member) } before do harvest.photos << harvest_photo @@ -239,7 +239,7 @@ describe Photo do describe 'Elastic search indexing', search: true do let!(:planting) { FactoryBot.create(:planting, :reindex, owner: photo.owner) } - let!(:crop) { FactoryBot.create :crop, :reindex } + let!(:crop) { FactoryBot.create(:crop, :reindex) } before do planting.photos << photo diff --git a/spec/models/planting_spec.rb b/spec/models/planting_spec.rb index d454dc8b0..34d1af7cd 100644 --- a/spec/models/planting_spec.rb +++ b/spec/models/planting_spec.rb @@ -11,7 +11,7 @@ describe Planting do describe 'planting lifespan predictions' do context 'no predications data yet' do describe 'planting planted, not finished' do - let(:planting) { FactoryBot.create :planting, planted_at: 30.days.ago, finished_at: nil, finished: false } + let(:planting) { FactoryBot.create(:planting, planted_at: 30.days.ago, finished_at: nil, finished: false) } it { expect(planting.crop.median_lifespan).to be_nil } it { expect(planting.expected_lifespan).to be_nil } @@ -20,7 +20,7 @@ describe Planting do end describe 'planting not planted yet' do - let(:planting) { FactoryBot.create :planting, planted_at: nil, finished_at: nil, finished: false } + let(:planting) { FactoryBot.create(:planting, planted_at: nil, finished_at: nil, finished: false) } it { expect(planting.crop.median_lifespan).to be_nil } it { expect(planting.expected_lifespan).to be_nil } @@ -29,7 +29,7 @@ describe Planting do end describe 'planting finished, no planted_at' do - let(:planting) { FactoryBot.create :planting, planted_at: nil, finished_at: 1.day.ago, finished: true } + let(:planting) { FactoryBot.create(:planting, planted_at: nil, finished_at: 1.day.ago, finished: true) } it { expect(planting.crop.median_lifespan).to be_nil } it { expect(planting.expected_lifespan).to be_nil } @@ -38,7 +38,7 @@ describe Planting do end describe 'planting all finished' do - let(:planting) { FactoryBot.create :planting, planted_at: 30.days.ago, finished_at: 10.days.ago, finished: true } + let(:planting) { FactoryBot.create(:planting, planted_at: 30.days.ago, finished_at: 10.days.ago, finished: true) } it { expect(planting.crop.median_lifespan).to be_nil } it { expect(planting.expected_lifespan).to eq(20) } @@ -49,18 +49,18 @@ describe Planting do context 'lots of data' do before do - FactoryBot.create :planting, crop: planting.crop, planted_at: 10.days.ago - FactoryBot.create :planting, crop: planting.crop, planted_at: 100.days.ago, finished_at: 50.days.ago - FactoryBot.create :planting, crop: planting.crop, planted_at: 100.days.ago, finished_at: 51.days.ago - FactoryBot.create :planting, crop: planting.crop, planted_at: 2.years.ago, finished_at: 50.days.ago - FactoryBot.create :planting, crop: planting.crop, planted_at: 150.days.ago, finished_at: 100.days.ago + FactoryBot.create(:planting, crop: planting.crop, planted_at: 10.days.ago) + FactoryBot.create(:planting, crop: planting.crop, planted_at: 100.days.ago, finished_at: 50.days.ago) + FactoryBot.create(:planting, crop: planting.crop, planted_at: 100.days.ago, finished_at: 51.days.ago) + FactoryBot.create(:planting, crop: planting.crop, planted_at: 2.years.ago, finished_at: 50.days.ago) + FactoryBot.create(:planting, crop: planting.crop, planted_at: 150.days.ago, finished_at: 100.days.ago) planting.crop.update_lifespan_medians end it { expect(planting.crop.median_lifespan).to eq 50 } describe 'planting 30 days ago, not finished' do - let(:planting) { FactoryBot.create :planting, planted_at: 30.days.ago } + let(:planting) { FactoryBot.create(:planting, planted_at: 30.days.ago) } # 30 / 50 = 60% it { expect(planting.percentage_grown).to eq 60.0 } @@ -71,8 +71,8 @@ describe Planting do end describe 'child crop uses parent data' do - let(:child_crop) { FactoryBot.create :crop, parent: crop, name: 'child' } - let(:child_planting) { FactoryBot.create :planting, crop: child_crop, planted_at: 30.days.ago } + let(:child_crop) { FactoryBot.create(:crop, parent: crop, name: 'child') } + let(:child_planting) { FactoryBot.create(:planting, crop: child_crop, planted_at: 30.days.ago) } # not data for this crop it { expect(child_crop.median_lifespan).to be_nil } @@ -85,19 +85,19 @@ describe Planting do end describe 'planting not planted yet' do - let(:planting) { FactoryBot.create :planting, planted_at: nil, finished_at: nil } + let(:planting) { FactoryBot.create(:planting, planted_at: nil, finished_at: nil) } it { expect(planting.percentage_grown).to eq 0 } end describe 'planting finished 10 days, but was never planted' do - let(:planting) { FactoryBot.create :planting, planted_at: nil, finished_at: 10.days.ago } + let(:planting) { FactoryBot.create(:planting, planted_at: nil, finished_at: 10.days.ago) } it { expect(planting.percentage_grown).to eq 100 } end describe 'planted 30 days ago, finished 10 days ago' do - let(:planting) { FactoryBot.create :planting, planted_at: 30.days.ago, finished_at: 10.days.ago } + let(:planting) { FactoryBot.create(:planting, planted_at: 30.days.ago, finished_at: 10.days.ago) } it { expect(planting.age_in_days).to eq 20 } it { expect(planting.percentage_grown).to eq 100 } @@ -107,7 +107,7 @@ describe Planting do describe 'planting first harvest preductions' do context 'no data' do - let(:planting) { FactoryBot.create :planting } + let(:planting) { FactoryBot.create(:planting) } it { expect(planting.crop.median_days_to_first_harvest).to be_nil } it { expect(planting.crop.median_days_to_last_harvest).to be_nil } @@ -117,7 +117,7 @@ describe Planting do end context 'lots of data' do - let(:crop) { FactoryBot.create :crop } + let(:crop) { FactoryBot.create(:crop) } # this is a method so it creates a new one each time def one_hundred_day_old_planting @@ -142,20 +142,20 @@ describe Planting do it { expect(crop.median_days_to_first_harvest).to eq(20) } describe 'sets median time to harvest' do - let(:planting) { FactoryBot.create :planting, crop:, planted_at: Time.zone.today } + let(:planting) { FactoryBot.create(:planting, crop:, planted_at: Time.zone.today) } it { expect(planting.first_harvest_predicted_at).to eq(Time.zone.today + 20.days) } end describe 'harvest still growing' do - let(:planting) { FactoryBot.create :planting, crop:, planted_at: Time.zone.today } + let(:planting) { FactoryBot.create(:planting, crop:, planted_at: Time.zone.today) } it { expect(planting.before_harvest_time?).to be true } it { expect(planting.harvest_time?).to be false } end describe 'harvesting ready now' do - let(:planting) { FactoryBot.create :planting, crop:, planted_at: 21.days.ago } + let(:planting) { FactoryBot.create(:planting, crop:, planted_at: 21.days.ago) } it { expect(planting.first_harvest_predicted_at).to eq(1.day.ago.to_date) } it { expect(planting.before_harvest_time?).to be false } @@ -164,7 +164,7 @@ describe Planting do end describe 'planting has no harvests' do - let(:planting) { FactoryBot.create :planting } + let(:planting) { FactoryBot.create(:planting) } before do planting.update_harvest_days! @@ -176,7 +176,7 @@ describe Planting do end describe 'planting has first harvest' do - let(:planting) { FactoryBot.create :planting, planted_at: 100.days.ago } + let(:planting) { FactoryBot.create(:planting, planted_at: 100.days.ago) } before do FactoryBot.create(:harvest, @@ -194,11 +194,11 @@ describe Planting do end describe 'planting has last harvest' do - let(:planting) { FactoryBot.create :planting, planted_at: 100.days.ago, finished_at: 1.day.ago, finished: true } + let(:planting) { FactoryBot.create(:planting, planted_at: 100.days.ago, finished_at: 1.day.ago, finished: true) } before do - FactoryBot.create :harvest, planting: planting, crop: planting.crop, harvested_at: 90.days.ago - FactoryBot.create :harvest, planting: planting, crop: planting.crop, harvested_at: 10.days.ago + FactoryBot.create(:harvest, planting:, crop: planting.crop, harvested_at: 90.days.ago) + FactoryBot.create(:harvest, planting:, crop: planting.crop, harvested_at: 10.days.ago) planting.update_harvest_days! planting.crop.update_harvest_medians end @@ -221,9 +221,9 @@ describe Planting do describe 'harvests used to predict' do before do - FactoryBot.create :harvest, planting: planting, crop: crop, harvested_at: '1 May 2019' - FactoryBot.create :harvest, planting: planting, crop: crop, harvested_at: '18 June 2019' - FactoryBot.create_list :harvest, 4, planting:, crop:, harvested_at: '18 August 2019' + FactoryBot.create(:harvest, planting:, crop:, harvested_at: '1 May 2019') + FactoryBot.create(:harvest, planting:, crop:, harvested_at: '18 June 2019') + FactoryBot.create_list(:harvest, 4, planting:, crop:, harvested_at: '18 August 2019') end it { expect(planting.harvest_months).to eq(5 => 1, 6 => 1, 8 => 4) } @@ -231,30 +231,30 @@ describe Planting do describe 'nearby plantings used to predict' do # Note the locations used need to be stubbed in geocoder - let(:garden) { FactoryBot.create :garden, location: 'Edinburgh', owner: garden_owner } + let(:garden) { FactoryBot.create(:garden, location: 'Edinburgh', owner: garden_owner) } before do # Near by planting with harvests - nearby_garden = FactoryBot.create :garden, location: 'Greenwich, UK' + nearby_garden = FactoryBot.create(:garden, location: 'Greenwich, UK') nearby_planting = FactoryBot.create(:planting, crop:, garden: nearby_garden, owner: nearby_garden.owner, planted_at: '1 January 2000') - FactoryBot.create :harvest, planting: nearby_planting, crop: crop, - harvested_at: '1 May 2019' - FactoryBot.create :harvest, planting: nearby_planting, crop: crop, - harvested_at: '18 June 2019' - FactoryBot.create_list :harvest, 4, planting: nearby_planting, crop: crop, - harvested_at: '18 August 2008' + FactoryBot.create(:harvest, planting: nearby_planting, crop:, + harvested_at: '1 May 2019') + FactoryBot.create(:harvest, planting: nearby_planting, crop:, + harvested_at: '18 June 2019') + FactoryBot.create_list(:harvest, 4, planting: nearby_planting, crop:, + harvested_at: '18 August 2008') # far away planting harvests - faraway_garden = FactoryBot.create :garden, location: 'Amundsen-Scott Base, Antarctica' - faraway_planting = FactoryBot.create :planting, garden: faraway_garden, crop: crop, - owner: faraway_garden.owner, planted_at: '16 May 2001' + faraway_garden = FactoryBot.create(:garden, location: 'Amundsen-Scott Base, Antarctica') + faraway_planting = FactoryBot.create(:planting, garden: faraway_garden, crop:, + owner: faraway_garden.owner, planted_at: '16 May 2001') - FactoryBot.create_list :harvest, 4, planting: faraway_planting, crop:, - harvested_at: '18 December 2006' + FactoryBot.create_list(:harvest, 4, planting: faraway_planting, crop:, + harvested_at: '18 December 2006') end it { expect(planting.harvest_months).to eq(5 => 1, 6 => 1, 8 => 4) } @@ -280,17 +280,17 @@ describe Planting do describe '#planted?' do it "is false for future plantings" do - planting = FactoryBot.create :planting, planted_at: Time.zone.today + 1 + planting = FactoryBot.create(:planting, planted_at: Time.zone.today + 1) expect(planting.planted?).to be(false) end it "is false for never planted" do - planting = FactoryBot.create :planting, planted_at: nil + planting = FactoryBot.create(:planting, planted_at: nil) expect(planting.planted?).to be(false) end it "is true for past plantings" do - planting = FactoryBot.create :planting, planted_at: Time.zone.today - 1 + planting = FactoryBot.create(:planting, planted_at: Time.zone.today - 1) expect(planting.planted?).to be(true) end end @@ -520,8 +520,8 @@ describe Planting do end context 'ancestry' do - let(:parent_seed) { FactoryBot.create :seed } - let(:planting) { FactoryBot.create :planting, parent_seed: } + let(:parent_seed) { FactoryBot.create(:seed) } + let(:planting) { FactoryBot.create(:planting, parent_seed:) } it "planting has a parent seed" do expect(planting.parent_seed).to eq(parent_seed) @@ -532,7 +532,7 @@ describe Planting do end describe 'grandchildren' do - let(:grandchild_seed) { FactoryBot.create :seed, parent_planting: planting } + let(:grandchild_seed) { FactoryBot.create(:seed, parent_planting: planting) } it { expect(grandchild_seed.parent_planting).to eq planting } it { expect(grandchild_seed.parent_planting.parent_seed).to eq parent_seed } @@ -540,12 +540,12 @@ describe Planting do end describe 'active scope' do - let(:member) { FactoryBot.create :member } + let(:member) { FactoryBot.create(:member) } let!(:planting) do - FactoryBot.create :planting, owner: member, garden: member.gardens.first + FactoryBot.create(:planting, owner: member, garden: member.gardens.first) end let!(:finished_planting) do - FactoryBot.create :finished_planting, owner: member, garden: member.gardens.first + FactoryBot.create(:finished_planting, owner: member, garden: member.gardens.first) end it { expect(member.plantings.active).to include(planting) } @@ -553,14 +553,14 @@ describe Planting do end describe 'homepage', :search do - let!(:interesting_planting) { FactoryBot.create :planting, :reindex, :with_photo } - let!(:finished_interesting_planting) { FactoryBot.create :finished_planting, :reindex, :with_photo } - let!(:planting) { FactoryBot.create :planting, :reindex } + subject { described_class.homepage_records(100) } + + let!(:interesting_planting) { FactoryBot.create(:planting, :reindex, :with_photo) } + let!(:finished_interesting_planting) { FactoryBot.create(:finished_planting, :reindex, :with_photo) } + let!(:planting) { FactoryBot.create(:planting, :reindex) } before { described_class.reindex } - subject { described_class.homepage_records(100) } - it { expect(subject.count).to eq 2 } it { expect(subject.map(&:id)).to eq([interesting_planting.id.to_s, finished_interesting_planting.id.to_s]) } end diff --git a/spec/models/post_spec.rb b/spec/models/post_spec.rb index 8c0140771..aed44225d 100644 --- a/spec/models/post_spec.rb +++ b/spec/models/post_spec.rb @@ -174,7 +174,7 @@ describe Post do end it 'excludes deleted members' do - post = FactoryBot.create :post, author: member + post = FactoryBot.create(:post, author: member) expect(described_class.joins(:author).all).to include(post) member.destroy expect(described_class.joins(:author).all).not_to include(post) diff --git a/spec/models/seed_spec.rb b/spec/models/seed_spec.rb index 55b4302a7..e54e455d1 100644 --- a/spec/models/seed_spec.rb +++ b/spec/models/seed_spec.rb @@ -3,7 +3,7 @@ require 'rails_helper' describe Seed do - let(:owner) { FactoryBot.create :owner, login_name: 'tamateapokaiwhenua' } + let(:owner) { FactoryBot.create(:owner, login_name: 'tamateapokaiwhenua') } let(:seed) { FactoryBot.build(:seed, owner:) } it 'saves a basic seed' do @@ -153,7 +153,7 @@ describe Seed do end context 'photos' do - let(:seed) { FactoryBot.create :seed } + let(:seed) { FactoryBot.create(:seed) } before { seed.photos << FactoryBot.create(:photo, owner: seed.owner) } @@ -163,8 +163,8 @@ describe Seed do end context 'ancestry' do - let(:parent_planting) { FactoryBot.create :planting } - let(:seed) { FactoryBot.create :seed, parent_planting:, owner: parent_planting.owner } + let(:parent_planting) { FactoryBot.create(:planting) } + let(:seed) { FactoryBot.create(:seed, parent_planting:, owner: parent_planting.owner) } it "seed has a parent planting" do expect(seed.parent_planting).to eq(parent_planting) @@ -200,14 +200,14 @@ describe Seed do end describe 'homepage', :search do - let!(:tradable_seed) { FactoryBot.create :tradable_seed, :reindex, finished: false } - let!(:finished_seed) { FactoryBot.create :tradable_seed, :reindex, finished: true } - let!(:untradable_seed) { FactoryBot.create :untradable_seed, :reindex } + subject { described_class.homepage_records(100) } + + let!(:tradable_seed) { FactoryBot.create(:tradable_seed, :reindex, finished: false) } + let!(:finished_seed) { FactoryBot.create(:tradable_seed, :reindex, finished: true) } + let!(:untradable_seed) { FactoryBot.create(:untradable_seed, :reindex) } before { described_class.reindex } - subject { described_class.homepage_records(100) } - it { expect(subject.count).to eq 1 } it { expect(subject.first.id).to eq tradable_seed.id.to_s } end diff --git a/spec/requests/api/v1/crop_request_spec.rb b/spec/requests/api/v1/crop_request_spec.rb index a1e9e2dcb..2454e8dfc 100644 --- a/spec/requests/api/v1/crop_request_spec.rb +++ b/spec/requests/api/v1/crop_request_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'Crops', type: :request do subject { JSON.parse response.body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } - let!(:crop) { FactoryBot.create :crop } + let!(:crop) { FactoryBot.create(:crop) } let(:crop_encoded_as_json_api) do { "id" => crop.id.to_s, "type" => "crops", diff --git a/spec/requests/api/v1/gardens_request_spec.rb b/spec/requests/api/v1/gardens_request_spec.rb index ea21efefd..3d141907b 100644 --- a/spec/requests/api/v1/gardens_request_spec.rb +++ b/spec/requests/api/v1/gardens_request_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'Gardens', type: :request do subject { JSON.parse response.body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } - let!(:garden) { FactoryBot.create :garden } + let!(:garden) { FactoryBot.create(:garden) } let(:garden_encoded_as_json_api) do { "id" => garden.id.to_s, "type" => "gardens", diff --git a/spec/requests/api/v1/harvest_request_spec.rb b/spec/requests/api/v1/harvest_request_spec.rb index 1c9a1660e..7f0290544 100644 --- a/spec/requests/api/v1/harvest_request_spec.rb +++ b/spec/requests/api/v1/harvest_request_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'Harvests', type: :request do subject { JSON.parse response.body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } - let!(:harvest) { FactoryBot.create :harvest } + let!(:harvest) { FactoryBot.create(:harvest) } let(:harvest_encoded_as_json_api) do { "id" => harvest.id.to_s, "type" => "harvests", diff --git a/spec/requests/api/v1/member_request_spec.rb b/spec/requests/api/v1/member_request_spec.rb index b276e5a03..50b9752b1 100644 --- a/spec/requests/api/v1/member_request_spec.rb +++ b/spec/requests/api/v1/member_request_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'Members', type: :request do subject { JSON.parse response.body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } - let!(:member) { FactoryBot.create :member } + let!(:member) { FactoryBot.create(:member) } let(:member_encoded_as_json_api) do { "id" => member.id.to_s, "type" => "members", diff --git a/spec/requests/api/v1/photos_request_spec.rb b/spec/requests/api/v1/photos_request_spec.rb index beae980e4..fe639caf1 100644 --- a/spec/requests/api/v1/photos_request_spec.rb +++ b/spec/requests/api/v1/photos_request_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'Photos', type: :request do subject { JSON.parse response.body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } - let!(:photo) { FactoryBot.create :photo } + let!(:photo) { FactoryBot.create(:photo) } let(:photo_encoded_as_json_api) do { "id" => photo.id.to_s, "type" => "photos", diff --git a/spec/requests/api/v1/plantings_request_spec.rb b/spec/requests/api/v1/plantings_request_spec.rb index 4e0399816..9cb0e8b78 100644 --- a/spec/requests/api/v1/plantings_request_spec.rb +++ b/spec/requests/api/v1/plantings_request_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'Plantings', type: :request do subject { JSON.parse response.body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } - let!(:planting) { FactoryBot.create :planting } + let!(:planting) { FactoryBot.create(:planting) } let(:planting_encoded_as_json_api) do { "id" => planting.id.to_s, "type" => "plantings", diff --git a/spec/requests/api/v1/seeds_request_spec.rb b/spec/requests/api/v1/seeds_request_spec.rb index b2d8cc0cb..4106c0f77 100644 --- a/spec/requests/api/v1/seeds_request_spec.rb +++ b/spec/requests/api/v1/seeds_request_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'Photos', type: :request do subject { JSON.parse response.body } let(:headers) { { 'Accept' => 'application/vnd.api+json' } } - let!(:seed) { FactoryBot.create :seed } + let!(:seed) { FactoryBot.create(:seed) } let(:seed_encoded_as_json_api) do { "id" => seed.id.to_s, "type" => "seeds", diff --git a/spec/services/crop_search_service_spec.rb b/spec/services/crop_search_service_spec.rb index 71adaacb4..d411c9c7e 100644 --- a/spec/services/crop_search_service_spec.rb +++ b/spec/services/crop_search_service_spec.rb @@ -17,9 +17,9 @@ RSpec.describe CropSearchService, type: :service do before do # Alternate name - FactoryBot.create :alternate_name, name: 'fungus', crop: mushroom + FactoryBot.create(:alternate_name, name: 'fungus', crop: mushroom) # scientific name - FactoryBot.create :scientific_name, name: 'Agaricus bisporus', crop: mushroom + FactoryBot.create(:scientific_name, name: 'Agaricus bisporus', crop: mushroom) # Requested and rejected FactoryBot.create(:rejected_crop, name: 'rejected mushroom') @@ -47,20 +47,20 @@ RSpec.describe CropSearchService, type: :service do describe 'biased' do # Make some crops with planting counts - let!(:mushroom_parent) { FactoryBot.create :crop, name: 'mushroom' } - let!(:oyster) { FactoryBot.create :crop, name: 'oyster mushroom', parent: mushroom_parent } - let!(:shitake) { FactoryBot.create :crop, name: 'shitake mushroom', parent: mushroom_parent } - let!(:common) { FactoryBot.create :crop, name: 'common mushroom', parent: mushroom_parent } - let!(:brown) { FactoryBot.create :crop, name: 'brown mushroom', parent: mushroom_parent } - let!(:white) { FactoryBot.create :crop, name: 'white mushroom', parent: mushroom_parent } + let!(:mushroom_parent) { FactoryBot.create(:crop, name: 'mushroom') } + let!(:oyster) { FactoryBot.create(:crop, name: 'oyster mushroom', parent: mushroom_parent) } + let!(:shitake) { FactoryBot.create(:crop, name: 'shitake mushroom', parent: mushroom_parent) } + let!(:common) { FactoryBot.create(:crop, name: 'common mushroom', parent: mushroom_parent) } + let!(:brown) { FactoryBot.create(:crop, name: 'brown mushroom', parent: mushroom_parent) } + let!(:white) { FactoryBot.create(:crop, name: 'white mushroom', parent: mushroom_parent) } describe 'biased to higher planting counts' do subject { search('mushroom') } before do # Having plantings should bring these crops to the top of the search results - FactoryBot.create_list :planting, 10, crop: white - FactoryBot.create_list :planting, 4, crop: shitake + FactoryBot.create_list(:planting, 10, crop: white) + FactoryBot.create_list(:planting, 4, crop: shitake) Crop.reindex end @@ -71,13 +71,13 @@ RSpec.describe CropSearchService, type: :service do describe "biased to crops you've planted" do subject { described_class.search('mushroom', current_member: owner).map(&:name) } - let(:owner) { FactoryBot.create :member } + let(:owner) { FactoryBot.create(:member) } before do - FactoryBot.create_list :planting, 10, crop: brown - FactoryBot.create :planting, crop: oyster, owner: owner - FactoryBot.create :planting, crop: oyster, owner: owner - FactoryBot.create :planting, crop: shitake, owner: owner + FactoryBot.create_list(:planting, 10, crop: brown) + FactoryBot.create(:planting, crop: oyster, owner:) + FactoryBot.create(:planting, crop: oyster, owner:) + FactoryBot.create(:planting, crop: shitake, owner:) Crop.reindex end diff --git a/spec/services/timeline_service_spec.rb b/spec/services/timeline_service_spec.rb index 57630f47a..2175ee600 100644 --- a/spec/services/timeline_service_spec.rb +++ b/spec/services/timeline_service_spec.rb @@ -3,20 +3,20 @@ require 'rails_helper' describe TimelineService do - let(:member) { FactoryBot.create :member } - let(:friend) { FactoryBot.create :member } + let(:member) { FactoryBot.create(:member) } + let(:friend) { FactoryBot.create(:member) } - let!(:friend_planting) { FactoryBot.create :planting, owner: friend, planted_at: 1.day.ago } - let!(:friend_harvest) { FactoryBot.create :harvest, owner: friend, harvested_at: 2.days.ago } + let!(:friend_planting) { FactoryBot.create(:planting, owner: friend, planted_at: 1.day.ago) } + let!(:friend_harvest) { FactoryBot.create(:harvest, owner: friend, harvested_at: 2.days.ago) } - let!(:my_seeds) { FactoryBot.create :seed, owner: member, created_at: 4.days.ago } - let!(:my_post) { FactoryBot.create :post, author: member, created_at: 3.months.ago } + let!(:my_seeds) { FactoryBot.create(:seed, owner: member, created_at: 4.days.ago) } + let!(:my_post) { FactoryBot.create(:post, author: member, created_at: 3.months.ago) } describe 'a friend you followed' do - before { friend.followers << member } - subject { TimelineService.followed_query(member) } + before { friend.followers << member } + it { expect(subject.first.id).to eq friend_planting.id } it { expect(subject.first.event_type).to eq 'planting' } it { expect(subject.second.id).to eq friend_harvest.id } diff --git a/spec/support/feature_helpers.rb b/spec/support/feature_helpers.rb index 88371b204..e13837157 100644 --- a/spec/support/feature_helpers.rb +++ b/spec/support/feature_helpers.rb @@ -13,15 +13,15 @@ module FeatureHelpers end shared_context 'signed in member' do - let(:member) { FactoryBot.create :member } + let(:member) { FactoryBot.create(:member) } include_examples 'sign in' end shared_context 'signed in crop wrangler' do - let(:member) { FactoryBot.create :crop_wrangling_member } + let(:member) { FactoryBot.create(:crop_wrangling_member) } include_examples 'sign in' end shared_context 'signed in admin' do - let(:member) { FactoryBot.create :admin_member } + let(:member) { FactoryBot.create(:admin_member) } include_examples 'sign in' end diff --git a/spec/views/crops/show.html.haml_spec.rb b/spec/views/crops/show.html.haml_spec.rb index 5aece6f0f..39240e528 100644 --- a/spec/views/crops/show.html.haml_spec.rb +++ b/spec/views/crops/show.html.haml_spec.rb @@ -10,7 +10,7 @@ describe "crops/show" do @member = FactoryBot.create(:crop_wrangling_member) sign_in @member @current_member = @member - @harvest = FactoryBot.create :harvest, owner: @member + @harvest = FactoryBot.create(:harvest, owner: @member) controller.stub(:current_user) { @member } end diff --git a/spec/views/gardens/show.html.haml_spec.rb b/spec/views/gardens/show.html.haml_spec.rb index 5bb6cf0a9..7de6800e3 100644 --- a/spec/views/gardens/show.html.haml_spec.rb +++ b/spec/views/gardens/show.html.haml_spec.rb @@ -8,7 +8,7 @@ describe "gardens/show" do controller.stub(:current_user) { @owner } @garden = FactoryBot.create(:garden, owner: @owner) @planting = FactoryBot.create(:planting, garden: @garden, owner: @garden.owner) - @suggested_companions = FactoryBot.create_list :crop, 4 + @suggested_companions = FactoryBot.create_list(:crop, 4) assign(:garden, @garden) assign(:current_plantings, [@planting]) assign(:finished_plantings, []) diff --git a/spec/views/harvests/index.rss.haml_spec.rb b/spec/views/harvests/index.rss.haml_spec.rb index 6246f57c0..58a0b9a95 100644 --- a/spec/views/harvests/index.rss.haml_spec.rb +++ b/spec/views/harvests/index.rss.haml_spec.rb @@ -8,9 +8,9 @@ describe 'harvests/index.rss.haml', :search do @member = FactoryBot.create(:member) @tomato = FactoryBot.create(:tomato) - @harvest1 = FactoryBot.create :harvest, crop: @tomato - @harvest2 = FactoryBot.create :harvest, crop: @tomato - @harvest3 = FactoryBot.create :harvest, crop: @tomato + @harvest1 = FactoryBot.create(:harvest, crop: @tomato) + @harvest2 = FactoryBot.create(:harvest, crop: @tomato) + @harvest3 = FactoryBot.create(:harvest, crop: @tomato) Harvest.searchkick_index.refresh assign(:harvests, Harvest.search(load: false)) diff --git a/spec/views/photos/show.html.haml_spec.rb b/spec/views/photos/show.html.haml_spec.rb index 19690e30f..e518e382c 100644 --- a/spec/views/photos/show.html.haml_spec.rb +++ b/spec/views/photos/show.html.haml_spec.rb @@ -3,20 +3,19 @@ require 'rails_helper' describe "photos/show" do - let(:photo) { FactoryBot.create :photo, owner: member } - let(:crops) { FactoryBot.create_list :crop, 2 } + let(:photo) { FactoryBot.create(:photo, owner: member) } + let(:member) { FactoryBot.create(:member) } + let(:harvest) { FactoryBot.create(:harvest, owner: member) } + let(:planting) { FactoryBot.create(:planting, owner: member) } + let(:seed) { FactoryBot.create(:seed, owner: member) } + let(:garden) { FactoryBot.create(:garden, owner: member) } + let(:crops) { FactoryBot.create_list(:crop, 2) } + before do @photo = photo @crops = crops end - let(:member) { FactoryBot.create :member } - - let(:harvest) { FactoryBot.create :harvest, owner: member } - let(:planting) { FactoryBot.create :planting, owner: member } - let(:seed) { FactoryBot.create :seed, owner: member } - let(:garden) { FactoryBot.create :garden, owner: member } - shared_examples "photo data renders" do it "shows the image" do assert_select "img[src='#{@photo.fullsize_url}']" @@ -68,7 +67,7 @@ describe "photos/show" do context "signed in as another member" do before do - controller.stub(:current_user) { FactoryBot.create :member } + controller.stub(:current_user) { FactoryBot.create(:member) } render end