Sha256: dc5dcdaa1e65ddad2fa943a035f26835d119e42404a35374fbf26a166a4e4166

Contents?: true

Size: 824 Bytes

Versions: 32

Compression:

Stored size: 824 Bytes

Contents

require 'factory_bot_rails'
##
# Condiviso con applicazione esterna
# 
# Helper per la generazione dati per la creazione di un hash utile alla creazione di un record
# completo di associazioni
# USAGE:
# like attributes_for
# nested_attributes_for(:factory_name)
module FactoryBot::Syntax::Methods
  def nested_attributes_for(*args)
    attributes = attributes_for(*args)
    klass = FactoryBot::Internal.factory_by_name(args.first).build_class

    klass.reflect_on_all_associations(:belongs_to).each do |r|
      association = FactoryBot.create(r.class_name.underscore)
      attributes[:"#{r.name}_id"] = association.id
      attributes[:"#{r.name}_type"] = association.class.name if r.options[:polymorphic]
    end

    attributes
  end
end


RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
base_editing_bootstrap-1.7.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.6.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.5.1 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.5.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.4.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.3.2 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.3.1 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.3.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.2.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.1.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-1.0.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.16.1 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.16.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.15.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.14.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.13.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.12.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.11.0 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.10.2 spec/support/external_shared/factory_bot.rb
base_editing_bootstrap-0.10.1 spec/support/external_shared/factory_bot.rb