From e194fe28aeeacdde7da480a37bd2f499a03bdb25 Mon Sep 17 00:00:00 2001 From: Geremia Taglialatela Date: Wed, 17 May 2023 16:29:30 +0200 Subject: [PATCH] Add an example for an association with factory Clarifies how to fix this offense --- docs/modules/ROOT/pages/cops_factorybot.adoc | 20 +++++++++++++++++++ .../cop/factory_bot/association_style.rb | 20 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/docs/modules/ROOT/pages/cops_factorybot.adoc b/docs/modules/ROOT/pages/cops_factorybot.adoc index c36d8fb9..54bf6ec7 100644 --- a/docs/modules/ROOT/pages/cops_factorybot.adoc +++ b/docs/modules/ROOT/pages/cops_factorybot.adoc @@ -35,6 +35,16 @@ end factory :post do user end + +# bad +factory :post do + association :user, :author +end + +# good +factory :post do + user factory: %i[user author] +end ---- ==== EnforcedStyle: explicit @@ -51,6 +61,16 @@ factory :post do association :user end +# bad +factory :post do + user factory: %i[user author] +end + +# good +factory :post do + association :user, :author +end + # good (NonImplicitAssociationMethodNames: ['email']) sequence :email do |n| "person#{n}@example.com" diff --git a/lib/rubocop/cop/factory_bot/association_style.rb b/lib/rubocop/cop/factory_bot/association_style.rb index 58175c12..b64dc184 100644 --- a/lib/rubocop/cop/factory_bot/association_style.rb +++ b/lib/rubocop/cop/factory_bot/association_style.rb @@ -21,6 +21,16 @@ module FactoryBot # user # end # + # # bad + # factory :post do + # association :user, :author + # end + # + # # good + # factory :post do + # user factory: %i[user author] + # end + # # @example EnforcedStyle: explicit # # bad # factory :post do @@ -32,6 +42,16 @@ module FactoryBot # association :user # end # + # # bad + # factory :post do + # user factory: %i[user author] + # end + # + # # good + # factory :post do + # association :user, :author + # end + # # # good (NonImplicitAssociationMethodNames: ['email']) # sequence :email do |n| # "person#{n}@example.com"