Module: LesliTesting::Fixtures
- Defined in:
- lib/lesli_testing/fixtures.rb
Class Method Summary collapse
Class Method Details
.load_fixtures_for_engine(engine_module) ⇒ Object
68 69 |
# File 'lib/lesli_testing/fixtures.rb', line 68 def load_fixtures_for_engine(engine_module) end |
.load_fixtures_for_lesli ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/lesli_testing/fixtures.rb', line 36 def load_fixtures_for_lesli() if defined?(Lesli) ActiveSupport.on_load(:active_support_test_case) do # En Rails 8, usamos ActiveRecord::TestFixtures si está disponible include ActiveRecord::TestFixtures if defined?(ActiveRecord::TestFixtures) lesli_fixtures = Lesli::Engine.root.join("test", "fixtures").to_s lesli_files = Lesli::Engine.root.join("test", "fixtures", "files").to_s # Rails 8 usa fixture_paths (plural) como el estándar # Pero para evitar el NoMethodError, lo asignamos de forma segura: if respond_to?(:fixture_paths=) # Combinamos las rutas existentes con la nueva del Engine self.fixture_paths |= [ lesli_fixtures ] else # Fallback por si la carga de ActiveRecord se retrasa class_attribute :fixture_paths, default: [ lesli_fixtures ] end # Los archivos adjuntos (Active Storage, etc) self.file_fixture_path = lesli_files # IMPORTANT: attach fixture sets to namespaced models BEFORE loading fixtures self.set_fixture_class( lesli_users: "Lesli::User", lesli_accounts: "Lesli::Account" ) end end end |