From cf73e0f252a93a3d67b4bfbb75f42fba145d414c Mon Sep 17 00:00:00 2001 From: Yohei Yasukawa Date: Mon, 26 May 2025 21:12:34 +0900 Subject: [PATCH 1/3] Set 'true' to: config.active_record.belongs_to_required_by_default --- config/application.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/application.rb b/config/application.rb index 6b21d69b..7432316f 100644 --- a/config/application.rb +++ b/config/application.rb @@ -36,7 +36,7 @@ class Application < Rails::Application # TODO: The following config should be switched to its default value `true`, but not urgent. # Rails 5.0: Require `belongs_to` associations by default. Previous versions had false. # https://railsguides.jp/configuring.html#config-active-record-belongs-to-required-by-default - config.active_record.belongs_to_required_by_default = false + config.active_record.belongs_to_required_by_default = true # Rails 8.0: `to_time` will always preserve the full timezone in Rails 8.1. config.active_support.to_time_preserves_timezone = :zone From dba60542bbfa3b84bb47d18cf2fa08e8d5fcda1c Mon Sep 17 00:00:00 2001 From: Yohei Yasukawa Date: Mon, 26 May 2025 21:23:52 +0900 Subject: [PATCH 2/3] Remove to set back to default value (true): config.active_record.belongs_to_required_by_default --- config/application.rb | 5 ----- 1 file changed, 5 deletions(-) diff --git a/config/application.rb b/config/application.rb index 7432316f..12d8e075 100644 --- a/config/application.rb +++ b/config/application.rb @@ -33,11 +33,6 @@ class Application < Rails::Application # Fixture paths config.fixture_paths = [Rails.root.join('spec/fixtures')] - # TODO: The following config should be switched to its default value `true`, but not urgent. - # Rails 5.0: Require `belongs_to` associations by default. Previous versions had false. - # https://railsguides.jp/configuring.html#config-active-record-belongs-to-required-by-default - config.active_record.belongs_to_required_by_default = true - # Rails 8.0: `to_time` will always preserve the full timezone in Rails 8.1. config.active_support.to_time_preserves_timezone = :zone end From 62d78fcf3e115d82ca8833bf147e156b1d89b8db Mon Sep 17 00:00:00 2001 From: Yohei Yasukawa Date: Mon, 26 May 2025 21:51:36 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E7=94=A8?= =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=BF=E3=81=AB=20Prefecture=20=E3=81=8C?= =?UTF-8?q?=E5=BF=85=E9=A0=88=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=9F=E3=81=9F?= =?UTF-8?q?=E3=82=81=E3=80=81=E5=90=84=E3=83=87=E3=83=BC=E3=82=BF=E3=81=AB?= =?UTF-8?q?=20Prefecture=20=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spec/lib/statistics/aggregation_spec.rb | 14 +++++++------- spec/lib/upcoming_events/aggregation_spec.rb | 4 ++-- spec/models/dojo_spec.rb | 3 ++- spec/rails_helper.rb | 4 ++++ 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/spec/lib/statistics/aggregation_spec.rb b/spec/lib/statistics/aggregation_spec.rb index cc8475e8..6500fb75 100644 --- a/spec/lib/statistics/aggregation_spec.rb +++ b/spec/lib/statistics/aggregation_spec.rb @@ -17,12 +17,12 @@ let(:yaml_provider) { instance_double(EventService::Providers::StaticYaml) } before do - d1 = create(:dojo, name: 'Dojo1', email: 'info@dojo1.com', description: 'CoderDojo1', tags: %w(CoderDojo1), url: 'https://dojo1.com') - d2 = create(:dojo, name: 'Dojo2', email: 'info@dojo2.com', description: 'CoderDojo2', tags: %w(CoderDojo2), url: 'https://dojo2.com') + d1 = create(:dojo, name: 'Dojo1', email: 'info@dojo1.com', description: 'CoderDojo1', tags: %w(CoderDojo1), url: 'https://dojo1.com', prefecture_id: 13) + d2 = create(:dojo, name: 'Dojo2', email: 'info@dojo2.com', description: 'CoderDojo2', tags: %w(CoderDojo2), url: 'https://dojo2.com', prefecture_id: 13) create(:dojo_event_service, dojo_id: d1.id, name: :connpass, group_id: 9876) create(:dojo_event_service, dojo_id: d2.id, name: :doorkeeper, group_id: 5555) - create(:dojo, id: 194, name: 'Dojo194', email: 'info@dojo194.com', description: 'CoderDojo194', tags: %w(CoderDojo194), url: 'https://dojo194.com') + create(:dojo, id: 194, name: 'Dojo194', email: 'info@dojo194.com', description: 'CoderDojo194', tags: %w(CoderDojo194), url: 'https://dojo194.com', prefecture_id: 13) allow(EventService::Providers::StaticYaml).to receive(:new).and_return(yaml_provider) allow(yaml_provider).to receive(:fetch_events).and_return([ { 'dojo_id' => 194, 'event_url' => 'https://example.com/event/12345', 'evented_at' => '2023-12-10 14:00', 'participants' => 1 } @@ -153,10 +153,10 @@ context 'find_dojos_by(services)' do before :each do - @d1 = create(:dojo, name: 'Dojo1', email: 'info@dojo1.com', description: 'CoderDojo1', tags: %w(CoderDojo1), url: 'https://dojo1.com') - @d2 = create(:dojo, name: 'Dojo2', email: 'info@dojo2.com', description: 'CoderDojo2', tags: %w(CoderDojo2), url: 'https://dojo2.com') - @d3 = create(:dojo, name: 'Dojo3', email: 'info@dojo3.com', description: 'CoderDojo3', tags: %w(CoderDojo3), url: 'https://dojo3.com') - @d4 = create(:dojo, name: 'Dojo4', email: 'info@dojo4.com', description: 'CoderDojo4', tags: %w(CoderDojo4), url: 'https://dojo4.com') + @d1 = create(:dojo, name: 'Dojo1', email: 'info@dojo1.com', description: 'CoderDojo1', tags: %w(CoderDojo1), url: 'https://dojo1.com', prefecture_id: 13) + @d2 = create(:dojo, name: 'Dojo2', email: 'info@dojo2.com', description: 'CoderDojo2', tags: %w(CoderDojo2), url: 'https://dojo2.com', prefecture_id: 13) + @d3 = create(:dojo, name: 'Dojo3', email: 'info@dojo3.com', description: 'CoderDojo3', tags: %w(CoderDojo3), url: 'https://dojo3.com', prefecture_id: 13) + @d4 = create(:dojo, name: 'Dojo4', email: 'info@dojo4.com', description: 'CoderDojo4', tags: %w(CoderDojo4), url: 'https://dojo4.com', prefecture_id: 13) create(:dojo_event_service, dojo_id: @d1.id, name: :connpass, group_id: 9876) create(:dojo_event_service, dojo_id: @d2.id, name: :doorkeeper, group_id: 5555) create(:dojo_event_service, dojo_id: @d2.id, name: :connpass, group_id: 9877) diff --git a/spec/lib/upcoming_events/aggregation_spec.rb b/spec/lib/upcoming_events/aggregation_spec.rb index 576e4953..2403b51c 100644 --- a/spec/lib/upcoming_events/aggregation_spec.rb +++ b/spec/lib/upcoming_events/aggregation_spec.rb @@ -7,8 +7,8 @@ describe '.run' do before do - @d1 = create(:dojo, name: 'Dojo1', email: 'info@dojo1.com', description: 'CoderDojo1', tags: %w(CoderDojo1), url: 'https://dojo1.com') - @d2 = create(:dojo, name: 'Dojo2', email: 'info@dojo2.com', description: 'CoderDojo2', tags: %w(CoderDojo2), url: 'https://dojo2.com') + @d1 = create(:dojo, name: 'Dojo1', email: 'info@dojo1.com', description: 'CoderDojo1', tags: %w(CoderDojo1), url: 'https://dojo1.com', prefecture_id: 13) + @d2 = create(:dojo, name: 'Dojo2', email: 'info@dojo2.com', description: 'CoderDojo2', tags: %w(CoderDojo2), url: 'https://dojo2.com', prefecture_id: 13) @es1 = create(:dojo_event_service, dojo_id: @d1.id, name: :connpass, group_id: 9876) @es2 = create(:dojo_event_service, dojo_id: @d2.id, name: :doorkeeper, group_id: 5555) end diff --git a/spec/models/dojo_spec.rb b/spec/models/dojo_spec.rb index 00135a4b..ae772ec2 100644 --- a/spec/models/dojo_spec.rb +++ b/spec/models/dojo_spec.rb @@ -6,7 +6,8 @@ order: 0, description: "東京都世田谷区で毎週開催", logo: "https://graph.facebook.com/346407898743580/picture?type=large", url: "http://tokyo.coderdojo.jp/", - tags: ["Scratch", "Webサイト", "ゲーム"]) + tags: ["Scratch", "Webサイト", "ゲーム"], + prefecture_id: 13) end subject { @dojo } diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 702cb2ac..b8c1f817 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -55,4 +55,8 @@ # arbitrary gems may also be filtered via: # config.filter_gems_from_backtrace("gem name") config.include FactoryBot::Syntax::Methods + + config.before(:suite) do + Rails.application.load_seed + end end