module EacRailsBase0::Rspec::Setup

Public Class Methods

extended(obj) click to toggle source
# File lib/eac_rails_base0/rspec/setup.rb, line 9
def self.extended(obj)
  return unless obj.rails_app_path

  %w[engines admin_user non_admin_user admin_example non_admin_example
     anonymous_example].each do |m|
    obj.send("setup_#{m}")
  end
end

Private Instance Methods

setup_admin_example() click to toggle source
# File lib/eac_rails_base0/rspec/setup.rb, line 49
def setup_admin_example
  require 'eac_rails_base0/rspec/shared_contexts/when_user_is_admin'
end
setup_admin_user() click to toggle source
# File lib/eac_rails_base0/rspec/setup.rb, line 29
def setup_admin_user
  ::FactoryBot.define do
    factory :admin_user, class: ::EacUsersSupport::User do
      email { 'admin@example.com' }
      password { 'mysecret' }
      confirmed_at { ::Time.zone.now }
    end
  end
end
setup_anonymous_example() click to toggle source
# File lib/eac_rails_base0/rspec/setup.rb, line 57
def setup_anonymous_example
  require 'eac_rails_base0/rspec/shared_contexts/when_user_is_anonymous'
end
setup_engines() click to toggle source
# File lib/eac_rails_base0/rspec/setup.rb, line 20
def setup_engines
  ::FactoryBot.definition_file_paths += ::EacRailsBase0::XEngine.local.flat_map do |engine|
    %w[factories test/factories spec/factories].map do |subpath|
      engine.config.root.join(subpath).to_path
    end
  end
  ::FactoryBot.find_definitions
end
setup_non_admin_example() click to toggle source
# File lib/eac_rails_base0/rspec/setup.rb, line 53
def setup_non_admin_example
  require 'eac_rails_base0/rspec/shared_contexts/when_user_is_non_admin'
end
setup_non_admin_user() click to toggle source
# File lib/eac_rails_base0/rspec/setup.rb, line 39
def setup_non_admin_user
  ::FactoryBot.define do
    factory :non_admin_user, class: ::EacUsersSupport::User do
      email { 'nonadmin@example.com' }
      password { 'mysecret' }
      confirmed_at { ::Time.zone.now }
    end
  end
end