From af085c223de0b2d3bc6b7e3305fa69c96f2f61c6 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Tue, 20 Feb 2024 12:58:04 +1100 Subject: [PATCH 1/2] Simplify user factory around admin role The original Spree user factory was adding the admin role by default. Since we don't do that anymore, we don't need to remove it for normal users. We also need to add it only once to admin users. --- spec/factories/user_factory.rb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/spec/factories/user_factory.rb b/spec/factories/user_factory.rb index 80b2ceca10..ece6b68551 100644 --- a/spec/factories/user_factory.rb +++ b/spec/factories/user_factory.rb @@ -35,17 +35,11 @@ FactoryBot.define do end after(:create) do |user, proxy| - user.spree_roles.clear # Remove admin role - user.enterprises << proxy.enterprises end factory :admin_user do spree_roles { [Spree::Role.find_or_create_by!(name: 'admin')] } - - after(:create) do |user| - user.spree_roles << Spree::Role.find_or_create_by!(name: 'admin') - end end factory :oidc_user do From e423015f0ac774f72d3baa0a936c5abad0ebacf5 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Tue, 20 Feb 2024 13:01:05 +1100 Subject: [PATCH 2/2] Treat enterprises as normal user attribute in factory --- spec/controllers/api/v0/reports_controller_spec.rb | 2 +- spec/factories/user_factory.rb | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/spec/controllers/api/v0/reports_controller_spec.rb b/spec/controllers/api/v0/reports_controller_spec.rb index d5403990c0..e50c55cbdc 100644 --- a/spec/controllers/api/v0/reports_controller_spec.rb +++ b/spec/controllers/api/v0/reports_controller_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" describe Api::V0::ReportsController, type: :controller do - let(:enterprise_user) { create(:user, enterprises: create(:enterprise)) } + let(:enterprise_user) { create(:user, enterprises: [create(:enterprise)]) } let(:params) { { report_type: 'packing', diff --git a/spec/factories/user_factory.rb b/spec/factories/user_factory.rb index ece6b68551..e52d6c878d 100644 --- a/spec/factories/user_factory.rb +++ b/spec/factories/user_factory.rb @@ -6,10 +6,6 @@ FactoryBot.define do end factory :user, class: Spree::User do - transient do - enterprises { [] } - end - email { generate(:random_email) } login { email } password { 'secret' } @@ -34,10 +30,6 @@ FactoryBot.define do end end - after(:create) do |user, proxy| - user.enterprises << proxy.enterprises - end - factory :admin_user do spree_roles { [Spree::Role.find_or_create_by!(name: 'admin')] } end